安裝的話,可以使用 sbopkg 工具,就可以直接從 Slackbuilds.org 抓編譯 Docker Community Edition 的 Script 處理,是 Slackware 上面常見的安裝套件方式。
對 Docker CE 17.09 來說,在 Salckbuilds.org 上相依套件有
tini:Container 環境專用的 INIT 系統
libseccomp:Linux Kernel System Call 的抽象界面
google-go-lang:Google 開發的 GO 語言
|
相依關係如下
其他還有 docker-machine、docker-machine-kvm 用來管理 docker 運行的 Host VM(這裡用不到)以及 docker-compose 用來管理多個 docker container 構成的群組(利用 YAML 寫成的設定檔管理)。後續再來了解 docker-compose
編譯 docker 之前,記得先執行 Google go 相關的環境變數,否則會使用預設的 gun-go 作編譯
bash4.4-# source /etc/profile.d/go.sh
接著只要逐一進行編譯安裝即可~以下是 sbopkg 安裝界面,放在這裡作參考
裝完之後
bash-4.4$ docker --version Docker version 17.09.0-ce, build afdb6d4 bash-4.4$
然後是 docker 服務的設定。
docker 的啟用,需要建立相關的系統群組以使用服務,目前使用的帳戶叫做 cchsu 的話,以 root 進行如下設定
bash-4.4# groupadd -r -g 281 docker bash-4.4# usermod -a -G docker aaa
然後是設置 docker 服務作開機啟動與關機中止,然後馬上啟動它~
bash-4.4# chmod +x /etc/rc.d/rc.docker bash-4.4# cat << EOF >> /etc/rc.d/rc.local # Docker Service startup if [ -x /etc/rc.d/rc.docker ]; then /etc/rc.d/rc.docker start fi EOF bash-4.4# cat << EOF >> /etc/rc.d/rc.local_shutdown #Stop docker service if [ -x /etc/rc.d/rc.docker ]; then /etc/rc.d/rc.docker stop fi EOF bash-4.4# /etc/rc.d/rc.docker start Starting dockerd ... bash-4.4#
然後會看到 docker 啟動一個網路界面,像 VM 軟體一樣~
bash-4.4# ifconfig docker0: flags=4099mtu 1500 inet 1xx.1xx.xx.xx netmask 255.255.0.0 broadcast 0.0.0.0 ether 02:42:3e:79:4a:d8 txqueuelen 0 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 eth0: flags=4355 mtu 1500 ether f0:de:f1:56:51:80 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 device interrupt 20 memory 0xf2500000-f2520000 lo: flags=73 mtu 65536 inet 127.0.0.1 netmask 255.0.0.0 inet6 ::1 prefixlen 128 scopeid 0x10 loop txqueuelen 1 (Local Loopback) RX packets 2 bytes 100 (100.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 2 bytes 100 (100.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 wlan0: flags=4163 mtu 1500 inet 192.168.0.110 netmask 255.255.255.0 broadcast 192.168.0.255 inet6 fe80::6871:ee5c:98d1:6379 prefixlen 64 scopeid 0x20 ether 8c:a9:82:5a:2f:82 txqueuelen 1000 (Ethernet) RX packets 578 bytes 268167 (261.8 KiB) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 596 bytes 127075 (124.0 KiB) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 bash-4.4#
最後執行 docker 專屬的 ps 指令(查看 docker container 運作狀態的指令)意思一下
bash-4.4# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES bash-4.4#
空空如也~
在 Slackware 裡面只有提供基本的套件,docker 是一個複雜的系統,有多種的 container runtime,還有多種的調度架構,不過在 Slackware 用戶裡面,看起來不太有人去深入使用~
參考:
幾個相關參考....
沒有留言:
張貼留言