一、linux版本
單位服務器是asianux4.5
查了內核,linux2.6的,基本上是基於redhat6的。
redhat收費,centos是redhat相似的發行版,免費,都是通過yum管理程序包。
而且,redhat和centos的版本基本對應,也就是redhat6=centos6, redhat7=centos7
asianux4.5和centos6.x , redhat6.x相似。
二、docker版本。
docker-io是docker早期版本, 對應redhat6.5以上,內核2.6以上
docker升級后,分化出docker-ce(免費)docker-ee(收費)版本。
ce\ee版本都要求centos7或redhat7以上,內核版本3.10以上,目前的內核都4.x了,想想單位的機器可真老。
三、在開發機(可上網的ubuntu)上,做好程序運行環境,保存鏡像,導出鏡像
開發機16.04 ubuntu, 內核4.15
lxg@lxg-opt:~$ uname -a Linux lxg-opt 4.15.0-99-generic #100~16.04.1-Ubuntu SMP Wed Apr 22 23:56:30 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux lxg@lxg-opt:~$
找個模板https://hub.docker.com/r/frolvlad/alpine-python3/
1.拉取:docker pull frolvlad/alpine-python3
2.運行:docker run -it --rm frolvlad/alpine-python3 sh
注意:alpine沒安裝/bin/bash,而是用sh
3.修改,定制,部署應用:省略。。。
4.把當前container保存成另一個image: docker commit frolvlad/alpine-python3 my_alpine_py
注意:commit時候,需要另起一個shell,不能退出當前container的運行,否則你的定制內容保存不了,下一次在run image時候定制全丟失。
5.查看image保存結果,
my_alpine_py是你定制生成的image
lxg@lxg-opt:~$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE my_alpine_py latest a21502aa20ce 4 hours ago 56.8MB frolvlad/alpine-python3 latest dd1e5224fc24 7 weeks ago 56.8MB
6.導出image,拷貝到生產機服務器
lxg@lxg-opt:~$ docker save -o my_alpine_py my_alpine_py.tar
這樣,把my_alpine_py鏡像,保存成當前目錄下的my_alpine_py.tar文件。拷貝過程省略
四、asianux4.5(centos6.x)上離線安裝docker-io
參考:
https://www.cnblogs.com/hdulzt/p/7834312.html
https://www.jianshu.com/p/4da882bd9d8c
相關安裝包下載后放自己雲盤上了
按順序安裝
1# rpm -ivh lxc-libs-1.0.9-1.el6.x86_64.rpm 2# rpm -ivh lua-alt-getopt-0.7.0-1.el6.noarch.rpm 3# rpm -ivh lua-filesystem-1.4.2-1.el6.x86_64.rpm 4# rpm -ivh lua-lxc-1.0.9-1.el6.x86_64.rpm 5# rpm -ivh lxc-1.0.9-1.el6.x86_64.rpm
#安裝libcgroup
6# rpm -ivh libcgroup-0.40.rc1-26.el6.x86_64.rpm
能查到,就不用安裝 https://www.jianshu.com/p/beea3ae215e6
7# 掛載:(因為安裝cgroup后需要掛載進系統) i. 編輯 : 使用vi / vim命令編輯/etc/fstab文件 ii. 在文件最后添加一行,並且格式與原格式相同 !!! 1) none /sys/fs/cgroup cgroup defaults 0 0 #8.重啟,掛載需要重啟centos i. shutdown -r now
(-r表示關機后重啟)
#9安裝docker
# rpm -ivh docker-io-1.7.1-2.el6.x86_64.rpm
注意,不安裝libcgroup,直接安裝docker會報錯:“docker-io libcgroup is needed for docker-io”
以上 9步驟,成功在單位的asianux4.5上安裝docker成功,至於其他博文說的,需要device-mappe等,沒用上,估計環境里有。
五、生產機上裝載image,確認
docker load --input my_alpine_py
[root@localhost emic]# docker load --input my_alpine_py
[root@localhost emic]# docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE my_alpine_py latest ec940855496b 4 hours ago 56.77 MB [root@localhost emic]#
image已經裝載了,下面運行image的容器
[root@localhost emic]# docker run -it my_alpine_py sh / # ls 00work dev home media opt root sbin sys usr bin etc lib mnt proc run srv tmp var / #
運行起來了,定制的目錄信息也在。