Docker 명령어 정리

8114 단어 dockerdocker

도커에서는 도커 이미지를 이용하여 컨테이너를 생성할 수 있는데,

도커 이미지를 이용하면 이미지에 설정해둔 대로 컨테이너의 구성환경을 적용할 수 있다.

Dockerfile이든 docker-compose.yml 파일이든 명령어를 작성하는 경로는 그 파일이 있는 위치에서다. 그렇지 않으면 명령어가 적용이 안되니 주의하자.


Image

Images 목록 보기

$ sudo docker images

Images 검색

$ sudo docker search [이미지 이름]

Images build

$ sudo docker build -t [dockerID]/[이미지 이름]:[버전] [경로]

Images push/pull

$ sudo docker push [dockerID]/[이미지 이름]:[버전]
$ sudo docker pull [dockerID]/[이미지 이름]:[버전]
  • 버전: latest 를 쓰면 최신 버전으로 받을수 있다.

Images 삭제

$ sudo docker rmi [이미지 id]
  • 컨테이너를 삭제하기 전에 이미지를 삭제 할때, -f옵션을 붙어면 컨테이너도 강제 삭제가 가능하다.
$ sudo docker rmi -f [이미지 id]

Prune

사용하지 않는 이미지 삭제
container에서 중지 또는 삭제를 해야 image도 삭제가 된다.

# 중지된 지 1시간 이상 지난 이미지만 삭제
sudo docker container prune --filter until=1h
# 사용하지 않는(dangling) image 삭제 
sudo docker image prune -a

Container

다양한 프로그램(nginx, database, WAS 등)을 컨테이너 라는 격리된 환경을 이용하여 실행시킬수 있다.

Container 시작

$ sudo docker start [컨테이너 id 또는 name]
  • 재시작
$ sudo docker restart [컨테이너 id 또는 name]
  • Bash Shell에서 exit 또는 Ctrl + D를 입력하면 컨테이너가 정지된다.

  • Ctrl + P, Ctrl + Q를 차례대로 입력하여 컨테이너를 정지하지 않고, 컨테이너에서 빠져나온다.

Container 목록 보기

$ sudo docker ps [OPTION]

옵션

  • -a : 모든 컨테이너 목록 출력

Container 실행

$ sudo docker run [options] image[:TAG|@DIGEST] [COMMAND] [ARG...]

예) ex) $ sudo docker run -p [외부port]:[도커port] -it --name server ubuntu:latest /bin/bash

✅run은 자동으로 pull도 해준다.

run 할시 다양항 옵션들 예시

# mysql 환경 설정 -e
sudo docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=1234 -d -p 9876:3306 mysql:8.0.22 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
# jenkins 실행 -v
sudo docker run -d -p 9090:8080 -p 50000:50000 --name=jenkinscicd -v /jenkinsDir:/var/jenkins_home -v /var/run/docker.sock:/var/run/docker.sock mooh2jj/myjenkins

Container 접속

$ sudo docker exec -it [container_name] /bin/bash

: 외부에서 컨테이너 진입할 때 사용한다.

$ sudo docker attach [컨테이너 id 또는 name]

: container 실행시 사용한다.

Container 정지

$ sudo docker stop [컨테이너 id 또는 name]

Container 삭제

$ sudo docker rm -f [컨테이너 id 또는 name]
# 아예 실행되는 것을 가져올 수 있음
$ sudo docker rm -f $(sudo docker ps -a)

Compose

# build + run
docker-compose up
# build한 image + container 삭제
docker-compose down
# build + run 했던 list
docker-compose ls (x)
docker compose ls (o)
docker-compose images


참고

좋은 웹페이지 즐겨찾기