안녕하세요. r-son입니다.
오랜만에 인사드리네요.
오늘은 도커(docker) 명령어에 대해서 간략히 알아볼까해요
그럼 아래 표를 보시죠~!
기능 |
명령어 |
도커 정보 확인 |
Docker info |
도커 버전 확인 |
docker version |
컨테이너 목록 확인 |
Docker ps Ex) docker ps -a (중지된 컨테이너) Ex) docker ps (실행 중인 컨테이너) |
컨테이너 실행하기 |
Docker run [OPTIONS] IMAGE[:TAG|@DIGEST] [COMMAND] [ARG…] Ex) docker run ubuntu:16.04 Ex) docker run --rm -it ubuntu:16.04 /bin/bash /bin/bash 명령어를 통해 ubuntu:16.04 컨테이너 실행 컨테이너 내부로 들어가기 위해 bash 쉘 실행 및 키보드 입력을 위해 -it 옵션을 부여 추가적으로 프로세스가 종료되면 컨테이너가 자동으로 삭제되도록 --rm 옵션 부여 Ex) docker run -d -p 1234:6379 redis redis는 메모리기반의 다양한 기능을 가진 스토리지. 6379포트로 통신하며 telnet 명령어로 테스트 가능(telnet localhost 1234) redis 컨테이너는 detached mode(백그라운드 모드)로 실행하기 위해 -d 옵션을 추가하고 -p 옵션을 추가하여 컨테이너의 포트를 호스트의 포트로 연결한다. -d 옵션이 없다면 프로세스가 폴그라운드로 실행되어 아무키도 입력할 수 없으며 컨테이너 종료는 ctrl+c 를 입력한다. -d 옵션을 줘서 컨테이너의 ID를 보여주고 바로 쉘로 돌아왔다. 컨테이너는 종료된 것이 아니라 백그라운드 모드로 동작 중 -p 옵션을 이용하여 호스트의 1234포트를 컨테이너의 6379 포트로 연결하였고 localhost의 1234 포트로 접속하면 redis를 사용할 수 있다. Ex) docker run -d -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=true --name mysql \ mysql:5.7 mysql -h127.0.0.1 -uroot -e 옵션은 환경변수를 설정하고 --name은 컨테이너에 읽기 어려운 ID대신 쉬운 이름을 부여한다. -e 옵션 중 패스워드 없이 root 계정을 만들기 위해 MYSQL_ALLOW_EMPTY_PASSWORD 환경변수를 설정한다. Ex) # before # after
-v 옵션은 호스트의 디렉토리를 마운트해서 사용하는 방법 : MysQL이라면 /var/lib/mysql 디렉토리에 모든 데이터베이스 정보가 담기므로 호스트의 특정 디렉토리를 연결해주어야 한다. 위의 샘플은 호스트의 /my/own/datadir 디렉토리를 컨테이너의 /var/lib/mysql 디렉토리로 마운트하였다. 이제 데이터베이스 파일ㅇ느 호스트의 /my/own/datadir 디렉토리에 저장되고 컨테이너를 삭제해도 사라지지 않는다.
|
컨테이너 중지하기 |
Docker stop [OPTIONS] CONTAINER [CONTAINER…] Ex) docker stop ${CONTAINER_ID} |
컨테이너 제거하기 |
Docker rm [OPTIONS] CONTAINER [CONTAINER…] Ex) docker rm ${CONTAINER_ID} Ex) docker rm -v $(docker ps -a -q -f status=exited) -- 중지된 컨테이너 ID를 가져와서 한꺼번에 삭제 |
컨테이너 로그 보기 |
Docker logs [OPTIONS] CONTAINER Ex) docker logs --tail 10 ${CONTAINER_ID} Ex) docker logs ${CONTAINER_ID}
|
컨테이너 명령어 실행하기 |
Docker exec [OPTIONS] CONTAINER COMMAND [ARG…] Ex) docker exec -it mysql /bin/bash |
이미지 목록 확인 |
Docker images [OPTIONS] [REPOSITORY[:TAG]] Ex) docker images |
이미지 다운로드(pull) |
Docker pull [OPTIONS] NAME[:TAG|@DIGEST] Ex) docker pull ubuntu:14.04 |
이미지 삭제하기(rmi) |
Docker rmi [OPTIONS] IMAGE [IMAGE…] Docker rmi ${IMAGE_ID} |
'Development > Docker' 카테고리의 다른 글
도커 허브에 이미지 푸시 방법 (0) | 2019.04.03 |
---|---|
도커 네트워크(Docker network) 길라잡이 (0) | 2019.03.13 |