如何修改三方docker并推送到自己的dockerhub?
1、背景
本次需要实现的一个需求是基于现有的网上的docker镜像进行改造,生成一个升级版本的新的docker镜像供三方开箱即用。
2、实施步骤
2.1、安装docker
安装命令如下:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
也可以使用国内 daocloud 一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh
2.2、拉取docker进行
docker run -d --name xmind2testlink --restart always -p 9001:5001 tobyqin/xmind2testlink
2.3、覆盖修改后的代码
查找容器id
docker ps 如上图圈起来的部分 966ca40e518b
通过命令 docker container exec -it 966ca40e518b ls lht /usr/lib/python3.8/site-packages/xmind2testlink 看些查看到容器内部的安装包的目录结构
本次的目的就是用上传的jar覆盖到docker的默认配置
docker cp /usr/local/ztt/xmind2testlink 966ca40e518b:/usr/lib/python3.8/site-packages
重启生效
docker restart 966ca40e518b
2.4、注册dockerhub账号
直接去 https://hub.docker.com/ 注册就好了,比如的用户id是 cx308679291
2.5、基于容器生成新的image
docker commit eafd9111ada6 cx308679291/xmind2testlink_plus
eafd9111ada6对应的容器id
还有一种就是直接经image重命名以满足 保存到自己的仓库的前置
docker tag ubuntu:15.10 runoob/ubuntu:v3
- cx308679291/xmind2testlink_plus ,为什么会起这个名字,因为cx308679291 是我在 Docker Hub 注册的账号名(Docker ID)
- 如果前面不写存在的账号名(需要已登录),或者写了但没有 docker login 登录这个账号的话,均会报权限错误的问题哦
2.6、登录完成推送
docker login
输入登录的账号密码
docker push cx308679291/xmind2testlink_plus
2.7、如何使用
docker run -d --name xmind2testlink --restart always -p 9001:5001 cx308679291/xmind2testlink_plus
正文到此结束