docker階段03 docker容器內hosts檔案, DNS, 查docker空間佔用, 部署自動化運維平臺spug, 檢視docker run啟動引數命令

战斗小人發表於2024-09-21

容器內部的hosts檔案

容器會自動將容器的ID加入自已的/etc/hosts檔案中,並解析成容器的IP

範例: 修改容器的 hosts檔案

[root@ubuntu1804 ~]#docker run -it --rm --add-host www.wangxiaochun.com:6.6.6.6 --add-host www.wang.org:8.8.8.8   busybox
/ # cat /etc/hosts
127.0.0.1 localhost
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
6.6.6.6 www.wangxiaochun.com
8.8.8.8 www.wang.org
172.17.0.2 449bf0468efd

指定容器 DNS

容器的dns伺服器,預設採用宿主機的dns 地址,可以用下面方式指定其它的DNS地址
修改宿主機的DNS地址址配置
在容器啟動時加選項 --dns=x.x.x.x
在/etc/docker/daemon.json 檔案中指定

檢視docker空間磁碟佔用情況, 清理不再使用的映象

#檢視docker空間磁碟佔用情況
[root@ubuntu ~]#docker system df
TYPE            TOTAL     ACTIVE    SIZE      RECLAIMABLE
Images          2         0         85.25MB   85.25MB (100%)
Containers      0         0         0B        0B
Local Volumes   0         0         0B        0B    #
Build Cache     0         0         0B        0B

#清除不再使用的映象
[root@ubuntu1804 ~]#docker system prune -f -a

實戰案例: 利用 Docker 快速部署自動化運維平臺

個人開發的小專案

[root@ubuntu1804 ~]# docker pull registry.aliyuncs.com/openspug/spug

[root@ubuntu1804 ~]#docker run -d --restart=always --name=spug -p 80:80 registry.aliyuncs.com/openspug/spug

#初始化(透過docker內部作者寫的init_spug程式)
[root@ubuntu1804 ~]#docker exec spug init_spug admin 123456

檢視docker run啟動引數命令

忘記之前啟動一個容器的啟動命令是什麼,現在需要找回來 docker run 的執行引數,可以使用 runlike 工具實現

https://github.com/lavie/runlike

安裝 runlike

#安裝方式1: pip
apt install -y python3-pip
pip3 install runlike
#安裝方法2: by docker
alias runlike="docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike"

#範例
[root@ubuntu ~]#runlike -p spug    #根據返回選有用的啟動引數
docker run --name=spug \
    --hostname=cbd8c758f8a4 \
    --mac-address=02:42:ac:11:00:02 \
    --network=bridge \
    -p 80:80 \
    --restart=always \
    --runtime=runc \
    --detach=true \
    registry.aliyuncs.com/openspug/spug

相關文章