dind 實踐

使用場景

 爲了不污染宿主主機的環境 ,包含image  and container,需要使用一個dind作爲docker server ,而其它的鏡像以它爲docker deamon

docker deamon :

   參考官網 

https://hub.docker.com/_/docker?tab=description

$ docker run --privileged --name some-docker -d \
    --network some-network --network-alias docker \
    -e DOCKER_TLS_CERTDIR=/certs \
    -v some-docker-certs-ca:/certs/ca \
    -v some-docker-certs-client:/certs/client \
    docker:dind

其中最主要 的有 network , 最坑的是,這個實例docker 是可以當作 hosts name 來用。 並且不能用some-docker來當成 hosts name來用。

然後 volume :  some-docker-certs-client也很重要,因爲客戶端 的docker實例要共享 使用它。

docker client:

 

docker run -itd --name cent5 --env DOCKER_HOST=tcp://docker:2376 --env DOCKER_CERT_PATH=/certs/client -v some-docker-certs-client:/certs/client:ro --network some-network --env DOCKER_TLS_VERIFY=1 centos:7

其中 --env DOCKER_TLS_VERIFY=1  非常重要,不然就會出現 :

[root@46db8429a2e1 /]# docker ps
Error response from daemon: Client sent an HTTP request to an HTTPS server.

實驗結果 

 (1) 按 docker client 命令,從一個基本的centos鏡像 做出一個實例

(2) yum install docker-client-latest 僅安裝 客戶端 。 因爲deamon 由--env DOCKER_HOST=tcp://docker:2376 來指定 了。

       docker  pull redis 

(3) 在client 裏,我們看到

 

(3) daemon 裏

docker exec -it some-docker docker ps

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章