티스토리 뷰
1. 기본 명령어
- Docker image : 소스
- Docker 컨테이너 : 소스를 실행할 독립된 환경
- Docker 명령은 기본적으로 root권한으로 실행해야 한다.
01. search : 검색
- sudo docker search {{Docker image 이름}}
02. pull : 다운
- sudo docker pull {{Docker image 이름}}
- sudo docker pull {{Docker image 이름}}:{{tag}}
- sudo docker pull {{Docker image 이름}}:latest //최신버전 pull
03. images : 설치한 이미지 리스트
- sudo docker images
04. run : Docker 컨테이너 생성
- sudo docker run {{options}} {{Docker image 이름}} {{execue file or commad, sh in image}}
- EX : ubuntu Docker image를 "hello"이름으로 Docker 컨테이너로 생성하고 ubuntu Docker image 안의 "/bin/bash" 파일을 실행한다.
- sudo docker run -i -t --name hello ubuntu /bin/bash
- "--name" 옵션으로 컨테이너의 이름을 지정할 수 있다. 지정하지 않으면 Docker가 자동으로 이름을 생성하여 지정한다.
05. ps : Docker 컨테이너 리스트
- sudo docker ps -a
- "-a" 옵션은 정지된 컨테이너까지 모두 출력하고, 안하면 실행되고 있는 컨테이너만 출력한다.
06. start : Docker 컨테이너 실행
- sudo docker start {{Docker 컨테이너 이름}}
- EX : sudo docker start hello
- Docker 컨테이너 이름 대신 Docker 컨테이너 ID를 사용해도 된다.
07. attach : Docker 컨테이너 접속
- sudo docker attach {{Docker 컨테이너 이름}}
- sudo docker attach hello
08. exec : Docker 컨테이너로 명령 실행
- sudo docker exec {{Docker 컨테이너 이름}} {{command}}
- sudo docker exec hello echo "Hello World" // "4"번 EX에서 "/bin/bash"를 실행해서 "8"번의 EX에서 "echo"를 입력함
09. stop : Docker 컨테이너 정지
- sudo docker stop {{Docker 컨테이너 이름}}
- EX : sudo docker stop hello
- Docker 컨테이너 이름 대신 Docker 컨테이너 ID를 사용해도 된다.
- "5"번의 sudo docker ps 명령어로 정지할 Docker 컨테이너를 검색하면 편하다.
10. rm : Docker 컨테이너 삭제
- sudo docker rm {{Docker 컨테이너 이름}}
- EX : sudo docker rm hello
- Docker 컨테이너 이름 대신 Docker 컨테이너 ID를 사용해도 된다.
- "5"번의 sudo docker ps 명령어로 정지할 Docker 컨테이너를 검색하면 편하다.
11. rmi : Docker image 삭제
- sudo docker rmi {{Docker image 이름}}:{{tag}}
- tag를 입력하지 않으면 같은 이름의 모든 Docker image를 모두 삭제한다.
- Docker 컨테이너 이름 대신 Docker image ID를 사용해도 된다.
12. history
- sudo docker history {{Docker image 이름}}:{{tag}}
- EX : sudo docker history hello:0.1
- Docker 컨테이너 이름 대신 Docker image ID를 사용해도 된다.
- Docker image의 히스토리를 조회한다.
13. cp
- sudo docker cp {{Docker 컨테이너 이름}}:{{경로/파일명}}
- EX : sudo docker cp hello:/etc/nginx/nginx.conf
- Docker 컨테이너의 파일을 호스트의 현재 디렉토리로 복사한다.
14. commit
- sudo docker commit {{options}} {{Docker 컨테이너 이름}} {{Docker image 이름}}:{{tag}}
- EX : sudo docker commit -a "Foo Bar <foo@bar.com>" -m "add hello.txt" hello-nginx hello:0.2
- Docker 컨테이너 이름 대신 Docker image ID를 사용해도 된다.
- Docker 컨테이너 안의 내용이 변경되었을때 Docker 컨테이너를 Docker image로 생성한다.
15. diff
- sudo docker diff {{Docker 컨테이너 이름}}
- sudo docker diff hello-nginx
- Docker 컨테이너가 실행되면서 변경된 파일 목록을 출력한다.
- "A" : 추가된 파일 (add)
- "C" : 변경된 파일 (change)
- "D" : 삭제된 파일 (delete)
16. inspect
- sudo docker inspect {{Docker 컨테이너 이름}}
- EX : sudo docker inspect hello-nginx
- Docker image와 Docker 컨테이너의 세부 정보를 출력한다.
2. 운영 명령어
- docker Instance bash: docker exec -it {{docker_image_name}} bash
- docker Instance log: docker logs {{docker_image_name}}
- docker system log: systemctl status docker
'Programming > Docker' 카테고리의 다른 글
Docker PID 1 이슈 (0) | 2018.07.15 |
---|---|
Docker Tip (0) | 2017.05.23 |
Docker 사용 (0) | 2016.08.07 |
- Total
- Today
- Yesterday
- @Primary
- Registrar
- Embeddable Mapping
- Spring Registrar
- DI
- Sprint RetryTemplate
- Discriminate Mapping
- 복합키 Mapping
- Spring
- java Equals
- scikit-learn
- Property
- java generic
- java EqualsAndHashCode
- Spring JDBC Template
- Akka
- Criteria
- guava
- JPA Criteria
- docker
- SmartLifecycle
- spring spel
- Typesafe Config
- JPA
- Charles proxy
- Embedded Mapping
- Mapping
- Query DSL
- Join Table
- RetryTemplate
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |