目标
制作自定义的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