淘先锋技术网

首页 1 2 3 4 5 6 7

目标

制作自定义的docker镜像,安装oneinstack,并支持在Mac、Linux、Windows上使用

制作镜像

方法1:使用Docker commit制作镜像

我这里使用centos7进行制作

docker run -itd --privileged --name oneinstack -v /root/:/opt/ centos:7 init # 一定要用privileged,并且在最后要添加init,否则在制作完成后使用service的时候会报错。

然后我们使用exec的方式进入docker

docker exec -it oneinstack /bin/bash

进入之后就按照官方的方法进行安装就可以了,这里就不赘述了。

友情提示:为了镜像的体积,建议删除压缩包等无用的文件,使用history -c清空操作记录

首先我们看下CONTAINER ID

docker ps -a

我们执行commit提交

docker commit -m "20190321oneinstack" --author='msz' 640d99327d3c msz/oneinstack:20190321 #我就以日期作为版本号吧

然后我们看下现在已经存在的镜像

docker images

安装完oneinstack之后,镜像就制作完成了

镜像导入导出

镜像导出

方法一可以理解为是一个Docker镜像,方法二可以理解为是一个Docker快照。

方法一

首先我们找到我们要导出的镜像

docker images

然后我们到处到当前路径下

docker save -o msz-oneinstack-20190321.tar msz/oneinstack:20190321

方法二

docker ps -a

然后我们到处到当前路径下

docker export 640d99327d3c > msz-oneinstack-201903211036.tar

镜像导入

为了验证准确性,我们找个Windows导入下

方法一

docker load -i msz-oneinstack-20190321.tar

方法二

方法1

docker import msz-oneinstack-201903211036.tar oneinstack:20190321

方法2

cat msz-oneinstack-201903211036.tar | docker import - oneinstack:20190321

导入验证

运行镜像

docker run -d --name oneinstack --privileged -p 80:80 -p 443:443 -v D:/workspace/www:/home/wwwroot/ msz/oneinstack:20190321 init

然后看下镜像状态

docker ps -a