Docker: 綠色版docker(帶dockerui)安裝測試記錄_20200120_七俠鎮莫尛貝

        最近下載試用了Deepin 15.11x64系統,感覺非常不錯:界面漂亮,應用充足全面,細節部分很人性化,符合國人習慣。也有不足,比如桌面右鍵菜單選項不支持快捷鍵。

        平時工作在docker下比較多,想試試docker在這個系統下運行如何。正好手頭有個ubuntu16的機器有安裝好的docker環境,想試試製作一個綠色版的docker系統跑在deepin 15.11下是否可行。綠色版docker好處不用多說,可離線安裝,解壓即可運行,各種參數配置、目錄自己說了算。

        步驟:

1. deepin 15.11默認無法ssh登陸,先安裝openssh-server:

apt install openssh-server

2.在deepin的/opt/目錄下簡歷一個目錄 docker_green,統一存放docker相關的東西。

3.把ubuntu16上的docker相關二進制文件複製過來

4.創建幾個目錄,存放docker相關的文件:

最終目錄內文件和文件夾是這樣的:

5.新增幾個sh腳本:

start_docker.sh

#!/bin/bash

# 刪除docker0 虛擬網卡
# ip link delete docker0

CURRENT_DIR=$(cd $(dirname $0); pwd)

export PATH=$CURRENT_DIR:$PATH
#       --pidfile==$CURRENT_DIR/var_run_docker \
#       --bridge=eth0 \
#       --bip=172.100.0.1/16 \
#       --registry-mirror=https://registry.docker-cn.com &
#       --registry-mirror=http://hub-mirror.c.163.com &
nohup ./dockerd -G root \
        -H unix://./run/docker.sock \
        -H tcp://0.0.0.0:2375 \
        --bip=172.200.0.1/16 \
        --pidfile=$CURRENT_DIR/run/docker.pid \
        --exec-root=$CURRENT_DIR/var_run_docker \
        --data-root=$CURRENT_DIR/var_lib_docker \
        --registry-mirror=https://registry.docker-cn.com \
         &

sleep 1
echo " "
./list.sh

mv /bin/docker /bin/docker_old
ln -s $CURRENT_DIR/bin_docker.sh /bin/docker

stop_docker.sh

#!/bin/bash

keywords="containerd.toml"
msg="$keywords stopping ... "

echo -e "\e[32m\e[1m"$msg"\e[0m"
PROCESS=`ps -ef|grep "$keywords"|grep -v grep|grep -v PPID|awk '{ print $2}'`
for i in $PROCESS
do
  echo "Kill the $keywords process [ $i ]"
  kill -9 $i
done

keywords="dockerd"
msg="$keywords stopping ... "

echo -e "\e[32m\e[1m"$msg"\e[0m"
PROCESS=`ps -ef|grep "$keywords"|grep -v grep|grep -v PPID|awk '{ print $2}'`
for i in $PROCESS
do
  echo "Kill the $keywords process [ $i ]"
  kill -9 $i
done


echo "==================================="
ps -ef|grep $keywords |grep -v grep

bin_docker.sh (docker是可以通過-H參數連接遠程機器看機器上跑了什麼容器的)

#!/bin/bash


# -H unix://./sock/docker.sock \
# -H tcp://0.0.0.0:2375 \
/opt/docker_green/docker \
        -H tcp://0.0.0.0:2375 \
        $*

list.sh:

#!/bin/bash

keywords="containerd.toml"
ps -ef|grep "$keywords"|grep -v grep
keywords="dockerd"
ps -ef|grep "$keywords"|grep -v grep

6.啓動docker服務:

./start_docker.sh

查看docker相關進程(dockerd和containerd)是否已經啓動:

./list.sh

ifconfig查看是否創建了docker0虛擬網卡。

7.測試安裝一個dockerui,方便管理鏡像和容器。

# -v /opt/docker_green/run/docker.sock:/var/run/docker.sock \
# --privileged
docker run -d \
        --hostname dockerui --name dockerui \
        -m 8G \
        --restart always \
       -p 9000:9000 \
       uifd/ui-for-docker \
       -H tcp://192.168.100.100:2375

dockerui可以通過-v掛接本機的docker.sock進行管理,也可通過-H參數連接遠程機器。當然前提是遠程機器開啓了2375管理端口。

8.測試:http://192.168.100.100:9000

9. 將/opt/docker_green目錄打包,在其他deepin15.11或ubuntu16機器上解壓到相同目錄,運行start_docker.sh,運行OK(系統內核相差較大的話估計夠嗆能跑起來)。

20200120補充:這裏有點問題,dockerui跑步起來,報錯:

# docker start dockerui
Error response from daemon: OCI runtime create failed: container with id exists: 76435ca893ed2e1874d63994278726363ee20807d40077b428e8c3f15720c0d3: unknown

原因待查。

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