一、docker 打包镜像
1、将现有的容器进行打包
- 查看现有容器
docker ps
#或
docker ps -a
- 将容器打包成镜像
docker commit -a "作者" -m "简要说明" 容器ID 想要打包成的镜像名称:版本号
实例:将容器a404c6c174a2 保存为新的镜像,并添加提交人信息和说明信息。
docker commit -a "runoob.com" -m "my apache" a404c6c174a2 mymysql:v1
执行结果:
2、使用Dockerfile进行打包镜像
-
将spring boot微服务项目制作成镜像:
参考之前的博客(3、docker 部署 spring boot 的 .jar 项目):https://blog.csdn.net/YL3126/article/details/120994703 -
将 nginx 进行打包,包括容器外面所映射的静态资源文件和配置文件
在本地创建一个文件夹,名字就叫: mynginx
然后将静态资源和配置压缩打包放进去(注意要用:.tar.gz 。推荐工具:7-Zip)
编写我们的 Dockerfile 文件:
https://www.bilibili.com/video/BV1np4y1C7Yf?p=399
FROM nginx
MAINTAINER LEI.YU
ADD html.tar.gz /usr/share/nginx/html
ADD conf.tar.gz /etc/nginx
EXPOSE 80
ENTRYPOINT nginx -g "daemon off;"
参数说明:
其中的:“daemon off ;“ 是为了: 关闭守护进程
https://www.shuzhiduo.com/A/amd01xVWzg/
好了,文件都准备完成,我们开始打包。
把文件夹 “ mynginx ” 传到服务器
然后进入到目录下,如 我的:
开始打包:
docker build -t mynginx:v2.0 -f Dockerfile .
参数说明:
开始打包,它会自己解压 我们的 tar.gz 文件:
打包完成后我们来看一下镜像:
docker images
二、镜像文件上传到 阿里云镜像
1、申请阿里云的 阿里云镜像仓库
然后按照后面一步步操作即可。
推荐一篇文章,我就不再赘述:
https://blog.csdn.net/wxd_1024/article/details/107462979
2、上传我们已经打包好的镜像
(1) 登录阿里云,密码就是开通镜像仓库时 的密码
#username后面就是你的阿里云账号,然后 输入密码时 是你 刚才申请镜像仓库设置的密码
docker login --username=6643*****@qq.com registry.cn-hangzhou.aliyuncs.com
(2)推送镜像
#给镜像打标签,格式必须为 “registry.cn-hangzhou.aliyuncs.com” 这个开头, “yl_hmbb” 换成你自己的 阿里云命名空间名称 即可,后面的 “yl-nginx:v1” 镜像名称和版本号 自行取名即可
docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/yl_hmbb/yl-nginx:v1
#推送本地镜像上去
docker push registry.cn-hangzhou.aliyuncs.com/yl_hmbb/yl-nginx:v1
(3) 拉取镜像
docker pull registry.cn-hangzhou.aliyuncs.com/yl_hmbb/yl-nginx:v1