Docker第三課

漫談容器Docker發表於2018-12-05

Docker用前必備

阿里雲加速

由於防火牆的原因,在Docker倉庫中下載映象往往速度很慢或者壓根下載不了。目前國內很多雲服務商提供了Docker映象市場,例如阿里雲、時速雲、DaoCloud等。本文主要已阿里云為例,說明使用其進行映象加速的方式。首先註冊阿里雲帳號,註冊的同時阿里雲會提供一個加速器地址:

Docker第三課

對於Centos7的使用者來說,先將預設的配置檔案(/lib/systemd/system/docker.service)複製到/etc/systemd/system/docker.service。然後再將加速器地址新增到配置檔案的啟動命令中,重啟Docker就可以了。

主要程式如下:

[root@localhost ~]# cd /lib/systemd/system

[root@localhost system]# cp docker.service /etc/systemd/system/docker.service

[root@localhost system]# sed -i "s|ExecStart=/usr/bin/docker daemon|ExecStart=/usr/bin/docker daemon --registry-mirror=https://your address.com|g" /etc/systemd/system/docker.service

[root@localhost system]# sed -i "s|ExecStart=/usr/bin/dockerd|ExecStart=/usr/bin/dockerd --registry-mirror=https://your address.com|g" /etc/systemd/system/docker.service

[root@localhost system]# systemctl daemon-reload

[root@localhost system]# service docker restart

Redirecting to /bin/systemctl restart docker.service

驗證是否設定成功(看是否與自己的加速地址一致):

[root@localhost system]# ps -ef  | grep dockerd

root      3399     1  0 08:07 ?        00:00:00 /usr/bin/dockerd-current --registry-mirror=https://your address.com-current --add-runtime docker-runc=/usr/libexec/docker/docker-runc-current --default-runtime=docker-runc --exec-opt native.cgroupdriver=systemd --userland-proxy-path=/usr/libexec/docker/docker-proxy-current --init-path=/usr/libexec/docker/docker-init-current --seccomp-profile=/etc/docker/seccomp.json --selinux-enabled --log-driver=journald --signature-verification=false --storage-driver overlay2

root      7543  3129  0 08:12 pts/1    00:00:00 grep --color=auto dockerd

參考:https://help.aliyun.com/document_detail/60750.html?spm=a2c4g.11186623.6.548.518c4685L5ZLPZ

WEB管理

使用阿里雲加速後,每次下載映象、啟動停止容器都需要輸入docker命令很不方便,就需要一個WEB管理工具。在此以Portainer為例。

新建容器卷:

[root@localhost ~]# docker volume create portainer_data

portainer_data

下載並執行映象:

[root@localhost ~]# docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer

Unable to find image 'portainer/portainer:latest' locally

Trying to pull repository docker.io/portainer/portainer ...

latest: Pulling from docker.io/portainer/portainer

d1e017099d17: Pull complete

d4e5419541f5: Pull complete

Digest: sha256:07c0e19e28e18414dd02c313c36b293758acf197d5af45077e3dd69c630e25cc

Status: Downloaded newer image for docker.io/portainer/portainer:latest

06d64cf10a7b752a2a45768890697b686fd7afc06ed51e1d62aab9ae8fffdf4d

開啟網址:192.168.1.105:9000,可以看到註冊頁面:

Docker第三課

如果出現Your session has expired.錯誤,導致無法正常註冊或登入。此問題的主要原因在於docker engine的系統時間與主機的系統時間不一致,將docker engine的系統時間改為主機時間即可。

登入進系統後可以看到系統內的docker映象、容器。

Docker第三課

Docker第三課

可以透過網頁下載需要的映象、啟動停止相應的容器。

參考:

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31562047/viewspace-2284256/,如需轉載,請註明出處,否則將追究法律責任。

相關文章