[docker] docker 설치

docker 2016. 7. 22. 18:22


docker는 linux 와 맥을 포함한 다양한 운영 체제에서 동작할 수 있다. 

https://docs.docker.com/engine/installation/


맥에서는 쉽게 설치할 수 있다.

https://docs.docker.com/engine/installation/mac/

https://docs.docker.com/docker-for-mac/


순서대로 진행한다.


~$ docker --version

Docker version 1.12.0-rc4, build e4a0dbc, experimental


제대로 동작되는지 확인하기 위해 다음을 실행한다.


~$ docker run hello-world

Unable to find image 'hello-world:latest' locally

latest: Pulling from library/hello-world

c04b14da8d14: Pull complete

Digest: sha256:0256e8a36e2070f7bf2d0b0763dbabdd67798512411de4cdcf9431a1feb60fd9

Status: Downloaded newer image for hello-world:latest


Hello from Docker!


This message shows that your installation appears to be working correctly.


To generate this message, Docker took the following steps:

 1. The Docker client contacted the Docker daemon.

 2. The Docker daemon pulled the "hello-world" image from the Docker Hub.

 3. The Docker daemon created a new container from that image which runs the

    executable that produces the output you are currently reading.

 4. The Docker daemon streamed that output to the Docker client, which sent it

    to your terminal.


To try something more ambitious, you can run an Ubuntu container with:

 $ docker run -it ubuntu bash


Share images, automate workflows, and more with a free Docker Hub account:

 https://hub.docker.com


For more examples and ideas, visit:

 https://docs.docker.com/engine/userguide/



용량을 확인하려면 docker images 명령을 실행한다. 


~$ docker images | grep hello

hello-world         latest              c54a2cc56cbb        2 weeks ago         1.848 kB



Centos 7.1에서는 다음과 같이 작업한다.



$ sudo yum update

$ curl -sSL https://get.docker.com/  | sh

$ sudo usermod -aG docker 계정명

$  sudo systemctl start docker

(데몬 실행이 필요하다)


데몬을 실행하지 않으면 docker daemon을 못 찾는 다는 에러가 발생한다.


$ docker run hello-world

docker: Cannot connect to the Docker daemon. Is the docker daemon running on this host?.

See 'docker run --help'.

$ docker ps

Cannot connect to the Docker daemon. Is the docker daemon running on this host?



이럴 때는 sudo systemctl start docker를 제대로 실행 안된 경우일수도 있고 chmod 권한 문제일 수도 있다.


안되면, sudo를 써본다.


$ sudo docker run hello-world

이전 결과와 동일



실행되는 것을 확인할 수 있다.



그리고, docker 데몬이 부팅 후에 자동으로 실행될 수 있도록 다음을 실행하는 것이 좋다.


$ sudo systemctl enable docker





만약 Hello from Docker! 메시지가 발생하지 않으면, 아래 커맨드를 이용해서 443 포트로 ssh 연결이 되는지를 확인해야 한다. proxy 이슈나 컴파일 이슈일 수 있다.


$ openssl s_client -connect index.docker.io:443





참고로 맥에서 vagrant 를 사용하여 centos 7를 설치할 수 있고, 해당 centos 7에서 docker를 설치할 수 있고, docker를 테스트해볼 수 있다.




* 맥 OS x에서 아래와 같은 에러가 발생한다면 제대로 실행이 안된 것이다. 


[~/temp] docker images

Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?



docker앱을 설치한 후 docker를 실행한다. 그래서 데몬으로 떠 있어야 한다. 아래와 비슷하게 나오면 성공이다.



$ docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

sandbox       latest              b1c4b0a4a954        9 months ago        3.76 GB

centos              6.7                 fb5054b394b7        10 months ago       191 MB




Posted by '김용환'
,