我们已经实战过在Linux系统通过docker部署个人项目,那么今天就尝试下制作自己的docker镜像。如果还有小伙伴没有在docker上部署过个人项目,那么可以参考下我写过的一篇文章,点击这里进行跳转。。。
1.准备工作
1.1.首先你需要拥有一个DockerHub 的个人账户,点击这里进行注册;
DockerHub 是一个由 Docker 公司运行和管理的基于云的存储库。它是一个在线存储库,Docker
镜像可以由其他用户发布和使用。有两种库:公共存储库和私有存储库。
1.2.将备好的war包上传至服务器;
1.3.确保你的虚机上装有tomcat镜像;
2.开始工作
2.1检查环境
a.登陆个人DockerHub账号
b.检查上传的war包
我是上传到当前目录下的,直接ls
命令查看即可
c.检查docker是否安装成功docker -v
d.检查tomcat镜像是否安装成功docker images |grep tomcat
2.2制作镜像
2.2.1运行tomcat镜像
docker run -d -p 8080:8080 tomcat
2.2.2查看tomcat容器
docker ps
2.2.3将war包部署到tomcat容器中
docker cp testdocker.war 75add6d9ee44:/usr/local/tomcat/webapps
2.2.4访问项目保证容器正常
再次提示:没有在docker部署过个人项目的,建议先去看我的另一篇博客
2.2.5从容器创建一个新的镜像
我们需要基于当前这个部署了个人项目的tomcat容器制作自己的镜像文件
docker commit -a "袁强" -m "create images by 袁强" -p 75add6d9ee44 testdocker:1.0
-a :提交的镜像作者;
-c :使用Dockerfile指令来创建镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停
命令说明:将容器 75add6d9ee44 保存为新的镜像,镜像名为testdocker,tag为1.0,并添加提交人信息和说明信息
2.2.6检查镜像是否制作成功
docker images | grep testdocker
2.3镜像仓库
个人镜像已经制作成功,我们需要将镜像保存到远程仓库,这样既方便管理,也可以提供给其他人使用
2.3.1标记本地镜像,将其归入某一仓库
docker tag [OPTIONS] IMAGE[:TAG] [REGISTRYHOST/][USERNAME/]NAME[:TAG]
使用docker tag命令完成这一操作
docker tag testdocker:1.0 yuanqiang1/testdocker:1.0
docker tag 后面需要两个参数,参数1为个人镜像[镜像名:tag],参数2为远程仓库[DockerHub用户名/repository:tag]
2.3.2查看tag结果
docker images | grep yuanqiang1
2.3.3推送镜像
docker push yuanqiang1/testdocker:1.0
提示:
在push的过程中可以失败:denied: requested access to the resource is denied
这是因为在push之前,需要通过docker login
命令登陆你的docker hub账号,登陆成功后重新push即可
2.3.4DockerHub查看镜像
2.4拉去镜像
上一步中我们已经成功将个人镜像上传至docker仓库,那么我们现在下载这个镜像进行测试
2.4.1下载个人镜像
a.为了保证可信度,下载镜像前,我们把本地的镜像删除
docker rmi imagename:tag
docker rmi -f imagename:tag
-f 强制删除镜像
b.下载个人镜像
docker pull yuanqiang1/testdocker:1.0
c.查看下载结果
docker images
2.4.2启动测试个人镜像
a.运行个人镜像
docker run -d -p 8085:8080 yuanqiang1/testdocker:1.0
b.访问页面
http://192.168.1.104:8085/testdocker/index.jsp
3.总结
定制镜像的方式还可以通过文件 Dockerfile ,感兴趣的朋友可以尝试下:
https://www.runoob.com/docker/docker-dockerfile.html