Docker

ⓘⓣ/Docker 2017. 12. 15. 13:30
336x280(권장), 300x250(권장), 250x250, 200x200 크기의 광고 코드만 넣을 수 있습니다.

컨테이너 생성

 
Hongui-MacBook-Pro:~ hongkun$ docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
50aff78429b1: Pull complete 
f6d82e297bce: Pull complete 
275abb2c8a6f: Pull complete 
9f15a39356d6: Pull complete 
fc0342a94c89: Pull complete 
Digest: sha256:6873122c772dd72e52d9b282a9e8ac0ce33a99659df31b1881552a4f9957f527
Status: Downloaded newer image for ubuntu:latest
Hongui-MacBook-Pro:~ hongkun$




컨테이너 실행

Hongui-MacBook-Pro:~ hongkun$ docker run -i -t ubuntu

root@76c594c427e0:/# 


-i 옵션 : 컨터이너와 상호 입출력을 가능

-t 옵션 : tty 활성화 해서 bash 셸을 사용하도록 컨테이너 설정



도커 공식 이미지 저장소에서 centos 이미지 다운로드 (docker pull)


Hongui-MacBook-Pro:~ hongkun$ docker pull centos

Using default tag: latest

latest: Pulling from library/centos

85432449fd0f: Pull complete 

Digest: sha256:3b1a65e9a05f0a77b5e8a698d3359459904c2a354dc3b25ae2e2f5c95f0b3667

Status: Downloaded newer image for centos:lates



도커 컨테이너 이미지 확인

 
Hongui-MacBook-Pro:~ hongkun$ docker images
REPOSITORY               TAG                 IMAGE ID            CREATED             SIZE
ubuntu                   latest              00fd29ccc6f1        7 hours ago         111MB
centos                   latest              3fa822599e10        2 weeks ago         204MB
hello-world              latest              725dcfab7d63        5 weeks ago         1.84kB
continuumio/miniconda3   latest              f700f7f570c7        6 weeks ago         571MB
Hongui-MacBook-Pro:~ hongkun$




도커 컨테이너 생성

 
Hongui-MacBook-Pro:~ hongkun$ docker create -i -t --name mycentos centos:7
Unable to find image 'centos:7' locally
7: Pulling from library/centos
Digest: sha256:3b1a65e9a05f0a77b5e8a698d3359459904c2a354dc3b25ae2e2f5c95f0b3667
Status: Downloaded newer image for centos:7
599b21b6c726da6184ae13438683a6ba849c88141968210fe2e95594b4841e32
Hongui-MacBook-Pro:~ hongkun$ docker start mycentos
mycentos
Hongui-MacBook-Pro:~ hongkun$ docker attach mycentos
[root@599b21b6c726 /]# 



create 명령어는 컨테이너를 생성만 할 뿐 컨테이너로 들어가지 않습니다.

docker start 명령어로 컨테이너를 시작하고 내부로 들어 갑니다.

attach 는 컨테이너의 내부로 들어가는 명령어 있니다.


exit는 컨테이너를 빠져 나오면서 정지를 시키고

Ctrl + P, Q 는 단순히 셸에서만 빠져나옵니다.



컨테이너 종료 없이 빠져나온 다음에 ps 로 목록 확인


Hongui-MacBook-Pro:~ hongkun$ docker run -i -t ubuntu

root@761173a1be96:/# Hongui-MacBook-Pro:~ hongkun$ 

Hongui-MacBook-Pro:~ hongkun$ 

Hongui-MacBook-Pro:~ hongkun$ docker ps

CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

761173a1be96        ubuntu              "/bin/bash"         23 seconds ago      Up 24 seconds                           trusting_goodall

Hongui-MacBook-Pro:~ hongkun$


모든 목록 확인

Hongui-MacBook-Pro:~ hongkun$ docker ps -a

CONTAINER ID        IMAGE                    COMMAND                  CREATED              STATUS                      PORTS               NAMES

761173a1be96        ubuntu                   "/bin/bash"              About a minute ago   Up About a minute                               trusting_goodall

599b21b6c726        centos:7                 "/bin/bash"              9 minutes ago        Exited (0) 4 minutes ago                        mycentos

76c594c427e0        ubuntu                   "/bin/bash"              17 minutes ago       Exited (0) 14 minutes ago                       jovial_mccarthy

ab221316ced8        continuumio/miniconda3   "/usr/bin/tini -- ..."   4 weeks ago          Exited (0) 4 weeks ago                          sleepy_hoover

bd8e3fabd8d5        continuumio/miniconda3   "/usr/bin/tini -- ..."   4 weeks ago          Exited (137) 4 weeks ago                        amazing_hoover

dcccfbf01020        hello-world              "/hello"                 4 weeks ago          Exited (0) 4 weeks ago                          elastic_jones

Hongui-MacBook-Pro:~ hongkun$ 




- STATUS : 컨테이너의 상태, 실행은 UP, 종료는 Exited, 일시 중시는 Pause

- PORTS : 컨테이너가 개방한 포트와 호스트에 연결한 포트를 나열, 앞에서 컨테이너를 생성할 때는 외부에 노출하도록 설정하지 않았으므로 PORTS 항목에는 아무것도 출력되지 않음

- NAME : 컨테이너의 고유한 이름. 컨테이너를 생성할 때 --name 옵션으로 이름을 설정하지 안으면 도커 엔진이 임의로 형용사와 명사를 무작위로 조합한 이름을 설정, 이름 변경 가능 (아래 참고)


Hongui-MacBook-Pro:~ hongkun$ docker rename jovial_mccarthy my_ubuntu

Hongui-MacBook-Pro:~ hongkun$ docker ps --format "table {{.ID}}\t{{.Status}}\t{{.Image}}"
CONTAINER ID        STATUS              IMAGE
761173a1be96        Up 2 hours          ubuntu



docker ID 전체 확인

Hongui-MacBook-Pro:~ hongkun$ docker inspect mycentos | grep Id

        "Id": "599b21b6c726da6184ae13438683a6ba849c88141968210fe2e95594b4841e32",



컨테이너 삭제


Hongui-MacBook-Pro:~ hongkun$ docker rm mycentos
mycentos
Hongui-MacBook-Pro:~ hongkun$ docker rm my_ubuntu
my_ubuntu
Hongui-MacBook-Pro:~ hongkun$ docker rm sleepy_hoover
sleepy_hoover
Hongui-MacBook-Pro:~ hongkun$ docker rm amazing_hoover
amazing_hoover
Hongui-MacBook-Pro:~ hongkun$ docker rm elastic_jones
elastic_jones
Hongui-MacBook-Pro:~ hongkun$ docker ps --format "table {{.ID}}\t{{.Status}}\t{{.Image}}"
CONTAINER ID        STATUS              IMAGE
761173a1be96        Up 2 hours          ubuntu
Hongui-MacBook-Pro:~ hongkun$ 



- 실행 중 컨테이너 삭제 : docker rm -rf {이름}

- 모든 컨테이너 삭제 : docker container prune


docker ps -a -q

-a : 컨테이너 상태와 관계 없이 모든 컨테이너 삭제

-q : 컨테이너 ID 출력


- 모든 컨테이너 정지 : docker stop $(docker ps -a -q)

- 모든 컨테이너 삭제 : docker rm $(docker ps -a -q)



컨테이너를 외부에 노출



 
root@f7a8a6f2838b:/# ifconfig
eth0      Link encap:Ethernet  HWaddr 02:42:ac:11:00:02  
          inet addr:172.17.0.2  Bcast:0.0.0.0  Mask:255.255.0.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:10 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:828 (828.0 B)  TX bytes:0 (0.0 B)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
블로그 이미지

뚱땡이 우주인

,