docker-cheatsheet
docker container
commands
컨테이너를 실행하거나 종료하고, 컨테이너 목록을 확인하는 등 컨테이너를 다루기 위해 사용하는 커맨드
docker (container) start
- 컨테이너를 실행
- 옵션
-
-i
:
-
docker (container) stop
- 컨테이너를 정지
docker (container) create
- 도커 이미지로부터 컨테이너를 생성
-
--name
: - 옵션
-
--name
: -e
-p
-v
-
✨ docker (container) run
- 도커 이미지를 내려받고 컨테이너를 생성해 실행
-
docker image pull
+docker container create
+docker container start
과 동일 - 가장 일반적으로 사용하는 명령어
- 옵션
-
--name
: -e
-p
-v
-d
-i
-t
-
docker (container) rm
- 정지 상태의 컨테이너를 삭제
- 옵션
-f
-v
docker (container) exec
- 실행중인 컨테이너 속에서 프로그램을 실행
- 옵션
-i
-t
docker container ls
| docker ps
- 컨테이너 목록을 출력
-
- 옵션
-a
docker (container) commit
- 도커 컨테이너를 이미지로 변환
docker image
commands
이미지를 내려받거나 검색하는 등 이미지와 관련된 기능을 실행하는 커맨드
docker (image) pull
- 도커 허브 등의 리포지토리에서 이미지를 내려받음
docker image rm
| docker rmi
- 도커 이미지를 삭제
docker image ls
- 내려 받은 이미지의 목록을 출력
docker (image) build
- 도커 이미지를 생성
docker solo commands
docker login
- 도커 레지스트리에 로그인
docker logout
- 도커 레지스트르에 로그아웃
docker search
- 도커 레지스트리를 검색
docker version
- 도커 엔진 및 명령행 도구의 버전을 출력
docker network
commands
docker network connect
- 네트워크에 컨테이너를 새로이 접속
docker network disconnect
- 네트워크에서 컨테이너의 접속을 끊음
docker network create
- 네트워크를 생성
docker network inspect
- 네트워크의 상세정보를 확인
docker network ls
- 네트워크 목록을 확인
docker network prune
- 현재 아무 컨테이너도 접속하지 않은 네트워크를 모두 삭제
docker network rm
- 지정한 네트워크를 삭제
Examples
MySQL 컨테이너 실행 예시
docker run --name {컨테이너 이름} -dit --net={네트워크 이름} -e MYSQL_ROOT_PASSWORD=myrootpass -e MYSQL_DATABASE=wordpress000db -e MYSQL_USER=wordpress000kun -e MYSQL_PASSWORD=wkunpass mysql --character-set-server={문자 인코딩} --collation-server={정렬 순서} --default-authentication-plugin=mysql_native_password
docker cp {host_dir} {container_name}:{file_name}
- 호스트에서 컨테이너로 파일 복사
docker cp {container_name}:{file_name} {host_dir}
- 컨테이너에서 호스트로 파일 복사
볼륨 마운트
- 도커 엔진이 관리하는 영역 내에 만들어진 볼륨을 컨테이너에 디스크 형태로 마운트
- 자주 쓰지는 않지만 지우면 안되는 파일을 두는 목적으로 사용
바인드 마운트
- 도커 엔진에서 관리하지 않는 영역의 기존 디렉터리를 컨테이너에 마운트
- 자주 쓰는 파일을 두는 목적으로 사용