centos下docker離線部署

  • 2019 年 11 月 11 日
  • 筆記

安裝準備

Docker可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後發布到任何流行的Linux機器上,也可以實現虛擬化。

環境要求

Centos

安裝包下載地址

安裝包下載以下三個包:

containerd.io-1.2.5-3.1.el7.x86_64.rpm  docker-ce-cli-18.09.4-3.el7.x86_64.rpm  docker-ce-18.09.4-3.el7.x86_64.rpm

下載地址:

依賴組件cgroup,下載以下四個依賴包:

libcgroup-0.41-8.el7.x86_64.rpm  libcgroup-devel-0.41-8.el7.x86_64.rpm  libcgroup-pam-0.41-8.el7.x86_64.rpm  libcgroup-tools-0.41-8.el7.x86_64.rpm

下載地址:

安裝步驟

在安裝包下載目錄打開命令行,使用root許可權執行以下命令:

rpm -ivh libcgroup-*   #安裝依賴包  rpm -ivh container-selinux-2.107-3.el7.noarch.rpm  rpm -ivh containerd.io-1.2.5-3.1.el7.x86_64. rpm  rpm -ivh docker-ce-cli-18.09.4-3.el7.x86_64. rpm  rpm -ivh docker-ce-18.09.4-3.el7.x86_64. rpm

驗證安裝

啟動docker

systemctl daemon-reload && systemctl restart docker

設置開機啟動

systemctl enable docker.service

驗證docker

docker version

部署過程

IP設置

Docker創建自定義網路固定IP:

docker network create --subnet 192.168.100.1/24 mynetwork

鏡像和容器部署

鏡像保存:

docker commit -p e191af92f0e appserver:1.0  docker save > appserver.tar

鏡像載入:

docker load < appserver.tar  docker tag c463d appserver:1.0

啟動容器:

docker run -itd --privileged=true --restart=always -p 2222:22 --name=YiLiao -v /home/yiliao:/home/docker --network mynetwork --ip 192.168.100.2 appserver:1.0 /usr/sbin/init

容器內部部署

進入容器

docker exec -it 容器id /bin/bash

ssh服務

查看ssh服務是否開啟:

ps -e | grep ssh

若沒有開啟,使用以下命令開啟:

Ubuntu: service ssh start  Centos: systemctl start sshd

容器編碼問題

暫時修改:

Ubuntu: export LANG=C.UTF-8  Centos: export LC_ALL=zh_CN.utf8

永久修改:

在Dockerfile中添加一行ENV LANG C.UTF-8

啟動演算法服務

nohup python mange.py runserver 8001 &  nohup python server.py &

卸載步驟

rpm -e containerd.io-1.2.5-3.1.el7.x86_64. rpm  rpm -e docker-ce-cli-18.09.4-3.el7.x86_64. rpm  rpm -e docker-ce-18.09.4-3.el7.x86_64. rpm