Notice
Recent Posts
Recent Comments
Link
devops
Docker 명령어 정리 본문
반응형
Command
Docker 정보
- docker -v, docker --vesion : 설치된 도커의 버전 확인
- docker version
- docker system info
Image 명령어
- docker image pull [option] <image-name>[:tag]
ex) docker image pull nginx:latest (최신 버전 nginx 이미지를 다운로드) - docker image ls : 도커 이미지 리스트 확인
- docker image inspect <image-name>[:tag] : 도커 이미지 상세 정보
ex) docker image inspect nginx:latest - docker search [option] <keyword> : 도커 허브에 있는 이미지 검색
- docker container commit [option] <container name> <Image-name:tag> : 해당 컨테이너를 이미지로 생성
Cotainer 명령어
- docker container run <image> <command>: image를 컨테이너로 생성하고 명령어 실행
ex) docker container run --name ubuntu-os ubuntu:latest /bin/echo 'hello world' (최신 버전 ubuntu 이미지로 컨테이너 생성하고 /bin/cho 'hello world' 명령어 실행, 컨테이너 이름은 ubuntu-os)
ex) docker container run -d -p 8080:80 server:latest (최신 버전 server 이미지로 컨테이너 생성하고 포워딩 설정, 8080은 Localhost의 포트, 80은 컨테이너의 포트로 8080과 80을 연결, -d로 백그라운드 실행)
* -d는 detach로 백그라운드 실행을 의미, -p는 포트 포워딩
- docker container ls [option] : container 상태 확인
- docker container ps
- docker container stats <container name>
- docker stop <container name> : 컨테이너 중단
- docker start <container name> : 컨테이너 시작
- docker container rm <container name> : 컨테이너 삭제
- docker container rm -f <container name> : 강제 종료 후 삭제
실행 명령어 exec, attach
둘다 docker에 접속하는 명령어다. exec은 현재 작동 중인 컨테이너에 진입할 때 사용하는데, 실행 중인 상태에 영향을 주지않고 명령어를 입력할 수 있다. 그러나 attach는 작동 중인 컨테이너가 restart된다.
docker exec -it <container name> /bin/bash : 외부에서 컨테이너 쉘 진입할 때 사용
docker attach <container name> : 실행되고 있는 컨테이너에 접속하는 명령어.
컨테이너 log
- docker logs <container name>
- docker logs --tail 10 : 컨테이너 로그 10줄만 확인
- docker logs -f : 컨테이너 로그 실시간 확인
Docker Compose
- docker-compuse up : docker-compose.yaml로 정의된 image를 컨테이너로 실행 (-d를 하면 백그라운드 실행)
- docker-compose down : docker-compose.yaml으로 정의된 이미지를 이용해 컨테이너 종료
- docker-compose up <image name> : 특정 이미지만 컨테이너로 실행
https://docs.docker.com/compose/compose-file/
[docker-compose.yaml 예시]
services:
frontend:
image: awesome/webapp
ports:
- "443:8043"
networks:
- front-tier
- back-tier
configs:
- httpd-config
secrets:
- server-certificate
backend:
image: awesome/database
volumes:
- db-data:/etc/data
networks:
- back-tier
volumes:
db-data:
driver: flocker
driver_opts:
size: "10GiB"
configs:
httpd-config:
external: true
secrets:
server-certificate:
external: true
networks:
# The presence of these objects is sufficient to define them
front-tier: {}
back-tier: {}
[위 yaml의 구성]
반응형
'DevOps > Docker' 카테고리의 다른 글
도커 로그인 오류 Error saving credentials: error storing credentials - err: exit status 1, out: `` (0) | 2022.06.30 |
---|---|
도커(Docker) - Dockerfile 작성과 팁 (0) | 2022.05.30 |
context requires credentials to be passed as environment variables 오류 해결 (0) | 2022.05.27 |
Docker Registry, Repository, Tag 그리고 Copy, Dockerfile (0) | 2022.05.25 |
Docker, Container란? (0) | 2022.05.24 |
Comments