以tomcat项目为例,演示commit命令以及阿里云镜像的pull与push

搭建docker中的tomcat项目

不建议直接pull一个系统镜像自己搭建tomcat环境,直接pull一个搭建好的镜像省时省力。

修改dockerpull源为阿里云

登录阿里云,进入阿里云镜像加速器 页面,获取个人镜像加速地址,按照网页下方教程进行修改,win版docker有图形化界面,可以直接复制地址到图形化界面内进行修改。

PULL一个tomcat镜像

运行以下命令:

1
2
3
4
5
6
7
8
9
10
11
# pull一个tomcat镜像到本地,600M+,不进行上一步这里会很慢
docker pull tomcat
# 新建容器运行该镜像
docker run -p 8080:8080 tomcat:latest
# 获取容器id以及tomcat目录
docker ps
# 目录默认为/usr/local/tomcat,可以自己进去pwd看
# 复制打包好的war包进入webapps目录下
docker cp test.war /usr/local/tomcat/webapps
# commit当前容器,生成新的镜像
docker commit afcaf46e8305 tomcat:v1

7KBIE`{U8RZ{X34A_$DG`P0.png
可以在本地验证当前docker运行状况,访问端口8080加war包名称,可以正常显示

镜像在阿里云仓库的pull与push

阿里云提供docker镜像的云服务,pull与push会选择就近的节点进行,对于国内docker的云服务来说非常不错。我希望在本机与我的阿里云服务器之间同步一个docker,不由得猜一波阿里云服务器pull阿里云的镜像更快,本地2M/s,服务器端可以跑到20M。

创建命名空间与仓库

这部分可以略过,因为在阿里云上自带的引导就非常到位了,各位可以自己去注册一个。

将本地镜像push到阿里云

新建一个仓库,名称为tomcat,建立完成后点击进入仓库内部可以看到具体的命令,图示如下:
![OPHA619D9R_UTQ7UN`AUD56.png](https://i.loli.net/2021/07/09/3R7xULKqOIWh5i9.png)
按照下方步骤进行push,对命令这里进行解释

1
2
3
4
5
6
7
# 登入你的账号,获取到push权限以及私有仓库的pull权限
$ docker login --username=s registry.cn-shenzhen.aliyuncs.com
# 为你将要push的镜像创建一个专用的别名,imageid可以通过下方命令查询
# docker images
$ docker tag [ImageId] registry.cn-shenzhen.aliyuncs.com/chars_y1n/tomcat:[镜像版本号]
# 将镜像push到仓库,书记兼按情况而定
$ docker push registry.cn-shenzhen.aliyuncs.com/chars_y1n/tomcat:[镜像版本号]

随后耐心等待镜像push完成。

在服务器端pull镜像

登入服务器后输入以下命令:

1
2
docker pull registry.cn-shenzhen.aliyuncs.com/chars_y1n/tomcat:[镜像版本号]
docker run ............

docker就在服务器上部署完成了,大伙可以尝试一下,目前阿里云对于学生免费送3个月学生机服务,当然去https://labs.play-with-docker.com/网站进行白嫖体验最佳。
测试用war包下载地址http://www.filedropper.com/demo-10-snapshot