도커 명령어 100개

2024. 10. 12. 16:41IT/docker

반응형

Docker 명령어 100개 
기본적인 명령어부터 고급 명령어까지 포함해서 Docker를 더 깊이 이해하는 데 큰 도움이 될 거야.

기본 명령어


1. docker pull : 도커 이미지를 Docker Hub에서 다운로드.

 

(도커 허브에서 다양한 이미지를 다운받거나 올릴 수 있다. 여기서 이미지라는 것은 컨테이너를 실행하기 위한 파일, 설정, 코드 등을 포함한 템플릿 같은 것이다. 이미지를 바탕으로 컨테이너를 생성하거나 실행할 수 있다.)


2. docker images :  로컬에 저장된 이미지 목록 확인.

 

(docker images ls 도 가능하다.)


3. docker run :  새로운 컨테이너를 생성하고 실행.

 

(docker run에 추가 되는 옵션 -n , --network, -p, -v, -e 등이 있으며 자세한 것은 아례 예시를 통해 참고 하길 바란다.)

더보기

docker run \
  --name my_container \                       # 컨테이너 이름 설정
  -d \                                        # 백그라운드 실행
  -p 8080:80 \                                # 포트 매핑 (호스트:컨테이너)
  -e MY_ENV_VAR=value \                       # 환경 변수 설정
  -v /host/path:/container/path \             # 볼륨 마운트
  --rm \                                      # 컨테이너 종료 시 자동 삭제
  -it \                                       # 터미널 인터랙티브 모드
  --network my_network \                      # 네트워크 설정
  --cpus="1.5" \                              # CPU 사용 제한
  --memory="512m" \                           # 메모리 사용 제한
  --gpus all \                                # GPU 할당
  --restart unless-stopped \                  # 재시작 정책 설정
  -u 1000:1000 \                              # 사용자 설정 (UID:GID)
  --entrypoint /bin/bash \                    # 엔트리포인트 대체
  --privileged \                              # 특권 모드로 실행
  --log-driver json-file \                    # 로그 드라이버 설정
  --log-opt max-size=10m \                    # 로그 옵션 설정
  --detach-keys="ctrl-c" \                    # 종료 단축키 설정
  --cap-add NET_ADMIN \                       # 특정 커널 기능 추가
  --cap-drop SYS_ADMIN \                      # 특정 커널 기능 제거
  --dns 8.8.8.8 \                             # DNS 서버 설정
  --hostname my_custom_hostname \             # 컨테이너 호스트네임 설정
  --label mylabel=value \                     # 컨테이너에 라벨 추가
  --link other_container:alias \              # 다른 컨테이너에 링크
  --volume-driver local \                     # 볼륨 드라이버 설정
  --security-opt seccomp=unconfined \         # 보안 옵션 설정
  --device /dev/sda:/dev/xvda \               # 호스트 장치에 접근
  --ipc=host \                                # IPC 네임스페이스 공유
  --shm-size=1g \                             # 공유 메모리 크기 설정
  --uts=host \                                # UTS 네임스페이스 공유
  --pid=host \                                # PID 네임스페이스 공유
  --cgroup-parent=my_cgroup \                 # Cgroup 설정
  --cpu-shares 512 \                          # CPU 공유 설정
  --blkio-weight 500 \                        # 블록 I/O 가중치 설정
  --ulimit nofile=1024:2048 \                 # Ulimit 설정
  --init \                                    # 컨테이너에 init 프로세스 실행
  --readonly \                                # 컨테이너의 파일 시스템을 읽기 전용으로 설정
  nginx                                       # 이미지 지정 (여기서는 nginx)


4. docker ps :  실행 중인 컨테이너 목록 확인.
5. docker ps -a :  모든(종료된 포함) 컨테이너 목록 확인.
6. docker stop :  실행 중인 컨테이너 중지.
7. docker start :  중지된 컨테이너 다시 실행.
8. docker restart :  컨테이너 재시작.
9. docker rm :  중지된 컨테이너 삭제.
10. docker rmi :  이미지 삭제.
11. docker exec :  실행 중인 컨테이너에서 명령어 실행.

 

(docker exec -it <컨테이너 이름 or ID> bash) 를 쓰면 해당 컨테이너의 내부에 접속할 수 있다.


12. docker logs :  컨테이너 로그 확인.
13. docker inspect :  컨테이너 또는 이미지의 세부 정보 확인.
14. docker top :  컨테이너 내부에서 실행 중인 프로세스 확인.
15. docker stats :  실행 중인 컨테이너의 리소스 사용량(CPU, 메모리 등) 확인.
16. docker commit :  컨테이너를 이미지로 저장.
17. docker build :  Dockerfile을 이용해 이미지를 빌드.
18. docker push :  이미지를 Docker Hub에 업로드.
19. docker tag :  이미지에 새로운 태그를 지정.
20. docker search :  Docker Hub에서 이미지 검색.
21. docker version :  Docker 버전 정보 확인.
22. docker info :  Docker 시스템에 대한 전반적인 정보 확인.
23. docker attach :  실행 중인 컨테이너에 연결해 입출력 확인.
24. docker cp :  컨테이너와 호스트 간 파일 복사.
25. docker kill :  컨테이너를 강제로 중지.
26. docker pause :  컨테이너 일시 정지.
27. docker unpause :  일시 정지된 컨테이너 재개.
28. docker diff :  컨테이너의 파일 시스템 변경 사항 확인.
29. docker history :  이미지의 생성 히스토리 확인.
30. docker port :  컨테이너의 포트 매핑 확인.
31. docker rename :  컨테이너 이름 변경.
32. docker update :  실행 중인 컨테이너의 설정 업데이트.

 네트워크 관련 명령어
33. docker network ls :  Docker 네트워크 목록 확인.
34. docker network create :  새로운 네트워크 생성.
35. docker network inspect :  네트워크의 세부 정보 확인.

 

(docker network inspect <네트워크 이름>)


36. docker network connect :  컨테이너를 네트워크에 연결.
37. docker network disconnect :  컨테이너를 네트워크에서 분리.
38. docker network rm :  네트워크 삭제.
39. docker network prune :  사용되지 않는 네트워크 삭제.

 볼륨 관련 명령어
40. docker volume ls :  Docker 볼륨 목록 확인.
41. docker volume create :  새로운 볼륨 생성.
42. docker volume rm :  볼륨 삭제.
43. docker volume inspect :  볼륨의 세부 정보 확인.
44. docker volume prune :  사용하지 않는 볼륨 삭제.

 이미지 관리 명령어
45. docker image ls :  로컬 이미지 목록 확인.
46. docker image rm :  이미지 삭제.
47. docker image prune :  사용하지 않는 이미지 삭제.
48. docker image tag :  이미지에 새로운 태그 추가.
49. docker image inspect :  이미지의 세부 정보 확인.
50. docker image history :  이미지의 생성 히스토리 확인.
51. docker image build :  Dockerfile을 이용해 이미지 빌드.
52. docker image pull :  Docker Hub에서 이미지 다운로드.
53. docker image push :  이미지를 Docker Hub에 업로드.
54. docker image load :  이미지 파일(.tar)을 로컬에 로드.
55. docker image save :  이미지를 파일로 저장.

 컨테이너 관리 명령어
56. docker container ls :  실행 중인 컨테이너 목록 확인.
57. docker container stop :  컨테이너 중지.
58. docker container start :  중지된 컨테이너 실행.
59. docker container restart :  컨테이너 재시작.
60. docker container rm :  컨테이너 삭제.
61. docker container prune :  사용하지 않는 컨테이너 삭제.
62. docker container inspect :  컨테이너의 세부 정보 확인.
63. docker container exec :  컨테이너에서 명령어 실행.
64. docker container logs :  컨테이너 로그 확인.
65. docker container commit :  컨테이너를 이미지로 저장.

 시스템 관리 명령어
66. docker system df :  Docker 디스크 사용량 확인.
67. docker system prune :  사용하지 않는 모든 리소스 삭제(컨테이너, 이미지, 네트워크, 볼륨).
68. docker system info :  Docker 시스템 정보 확인.
69. docker system events :  Docker 시스템 이벤트 확인.

 Docker Compose 관련 명령어
70. docker-compose up :  docker-compose.yml 파일에 정의된 여러 컨테이너 실행.
71. docker-compose down :  docker-compose로 실행된 모든 컨테이너 중지 및 네트워크 제거.
72. docker-compose build :  docker-compose.yml 파일에 정의된 이미지 빌드.
73. docker-compose pull :  docker-compose.yml 파일에 정의된 이미지를 Docker Hub에서 다운로드.
74. docker-compose ps :  docker-compose로 실행된 컨테이너 목록 확인.
75. docker-compose logs :  docker-compose로 실행된 컨테이너의 로그 확인.
76. docker-compose stop :  docker-compose로 실행된 컨테이너 중지.
77. docker-compose restart :  docker-compose로 실행된 컨테이너 재시작.
78. docker-compose exec :  실행 중인 컨테이너에서 명령어 실행.
79. docker-compose config :  docker-compose.yml 파일의 설정 확인.
80. docker-compose rm :  docker-compose로 실행된 컨테이너 삭제.

 고급 명령어
81. docker swarm init :  Docker Swarm 클러스터 초기화.
82. docker swarm join :  Swarm 노드에 참여.
83. docker swarm leave :  Swarm 노드에서 나가기.
84. docker node ls :  Swarm 노드 목록 확인.
85. docker service create :  새로운 서비스 생성.
86. docker service ls :  Swarm 서비스 목록 확인.
87. docker service rm :  Swarm 서비스 삭제.
88. docker service scale :  Swarm 서비스의 컨테이너 수 조정.
89. docker service update :  Swarm 서비스 업데이트.
90. docker stack deploy :  docker-compose 파일을 이용해 스택 배포.
91. docker stack rm :  스택 삭제.
92. docker stack ps :  스택 내의 컨테이너 확인.
93. docker secret create :  Docker에서 비밀 데이터를 생성.
94. docker secret ls :  비밀 데이터 목록 확인.
95. docker config create :  Docker에서 설정 데이터를 생성.
96. docker config ls :  설정 데이터 목록 확인.

 기타 명령어
97. docker events :  Docker의 실시간 이벤트 스트림 보기.
98. docker login :  Docker Hub에 로그인.
99. docker logout :  Docker Hub에서 로그아웃.
100. docker wait :  컨테이너가 중지될 때까지 대기.

이 100개의 명령어들은 Docker의 다양한 기능들을 다루고, 컨테이너를 관리하는 데 필요한 모든 필수적인 명령어들이야. 이 명령어들을 익히면 Docker를 능숙하게 다룰 수 있다.

반응형
post image post image post image post image post image post image post image