728x90
Docker - CLI 명령어
회사에서 Docker를 사용할 일이 생겨서 Docker Cli에 대해 알아볼 필요가 생겼다. 이에 나는 강의를 보고 내가 공부한 내용을 이 포스트에 정리한다.
1. docker image 생성 및 실행
1-1. docker hub에서 이미지 pull 받기
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
ex) docker pull httpd
1-2. pull 잘 받았는지 확인/ image 목록 보기
docker images
1-3. image run/start : container 생성/재실행
- [COMMAND]: container 안에서 실행하고 싶은 명령어
- -d : background로 실행
- -p : port 연결
docker run [OPTIONS] IMAGE명 [COMMAND] [ARG...]
ex) docker run httpd
- --name: 컨테이너 이름 부여
ex) docker run --name ws2 httpd
- start: container 재실행
ex) docker start ws2
1-4. container 조회
- 실행중인 컨테이너 조회
docker ps
- 종료된 컨테이너 포함해서 조회
docker ps -a
- 실행 중인 도커 log 조회
# 로그 조회 후 종료
docker logs [OPTIONS] 컨테이너명
# 실시간 로그 watching
docker logs -f 컨테이너명
1-5. container 종료
docker stop 컨테이너_아이디
docker stop 컨테이너명
1-6. container 삭제
# 이미 종료된 컨테이너 삭제
docker rm [OPTIONS] 컨테이너명 [CONTAINER...]
# 실행중인 컨테이너 삭제
docker rm --force 컨테이너명
1-7. image 삭제
docker rmi [OPTIONS] 이미지명 [IMAGE...]
2. 네트워크 연결 (port forwarding)
docker run httpd
docker run -p 80:80 httpd
3. container 내부로 접속
3-1. 일시적으로 명령어만 입력하고 종료
docker exec [OPTION] 컨테이너명 COMMAND [ARG...]
ex) docker exec ws3 pwd
- pwd: 컨테이너를 대상으로 실행시키고 싶은 명령어
3-2. 계속 컨테이너 안에서 명령어 실행
docker exec -it ws3 /bin/sh
- -i (Interactive): 이 플래그는 명령을 실행하는 동안 표준 입력(STDIN) 스트림을 열린 상태로 유지. 즉, 실행 중인 프로세스에 데이터를 입력할 수 있게 해 줌
- -t (TTY): 이 플래그는 가상 터미널을 할당. 이것은 사용자가 명령을 입력하고 출력을 보는 것처럼 터미널을 사용할 수 있게 해 줌.
- /bin/bash: 컨테이너 내부의 bourne shell 프로그램 실행
docker exec -it ws3 /bin/bash
- bash shell: bash shell 실행
3-3. 종료하고 싶을 때
exit
4. 실행 환경은 container에 맡기고 파일 수정은 host에서 진행하는 방법
- host의 file system과 container 안의 file system과 연결
- 로컬에서
docker run -p 8888:80 -v ~/Desktop/htdocs:/usr/local/apache2/htdocs httpd
- -v: volume
- Desktop/htdocs: 내 로컬 저장소
- /usr/local/apache2/htdocs: 기본으로 apache web server의 매뉴얼 페이지에 나와있는 index.html 파일의 위치 정보
→ host에서 파일이 수정되고 노출되기 때문에 host 환경 안에서 파일의 버전관리/백업 정책 수행/에디터로 편집이 가능
출처: https://youtu.be/Ps8HDIAyPD0?si=kDviapN0s1-TOOd3
'Docker' 카테고리의 다른 글
[Docker] docker run httpd 명령어 쳤을때 AH00558 경고 나올때 (0) | 2023.10.22 |
---|---|
[Docker] Docker의 이해 - Docker hub로 이미지 공유하기 (push) (2) | 2023.10.22 |
[Docker] Docker의 이해 - Docker image 만들기 (Dockerfile & build) (2) | 2023.10.21 |
[Docker] Docker의 이해 - Docker image 만들기 (commit 명령어 사용) (0) | 2023.10.21 |
[Docker] Docker의 이해 - Docker Compose (1) | 2023.10.21 |