MathJax

MathJax-2

MathJax-3

Google Code Prettify

置頂入手筆記

EnterproseDB Quickstart — 快速入門筆記

由於考慮採用 EnterpriseDB 或是直接用 PostgreSQL 的人,通常需要一些入手的資料。這邊紀錄便提供相關快速上手的簡單筆記 ~ 這篇筆記以 資料庫安裝完畢後的快速使用 為目標,基本紀錄登入使用的範例:

2017年12月6日 星期三

Slackware 14.2 (Current) 上面安裝 Docker(2017 年10月)

要以 Slackware 作為 Docker 的 Host OS,需要從原始碼編譯成安裝套件,而編譯的 Script 位在 Slackbuilds.org 裡面維護。Docker 本身又是一個版本週期快速的程式(目前是每月一版,每季一個穩定版,社群版支援週期也不長)
安裝的話,可以使用 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 語言
       runc:支援 containerd 的底層函式庫
       containerd:docker container 的核心,自 docker v0.9 後取代了 LXC
       docker-proxy:docker 的網路函式庫,目前專案名稱叫做 libnetwork
       docker:社群版的 docker

相依關係如下
Slackware-docker-package-dependencies-Oct2017.png

其他還有 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=4099  mtu 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 用戶裡面,看起來不太有人去深入使用~

參考:
幾個相關參考....

沒有留言:

張貼留言