原创

如何修改三方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

image-20211217223120769

2.7、如何使用

docker run -d --name xmind2testlink --restart always -p 9001:5001 cx308679291/xmind2testlink_plus
正文到此结束
本文目录