仓库地址
这里使用的是腾讯的coding
xxx-devops-docker.pkg.coding.net
登录(登录是为了推送镜像到镜像仓库)
[root@VM-0-11-centos test]# docker login -u 用户名 xxx-devops-docker.pkg.coding.net
Password:
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store
Login Succeeded
拉取操作镜像
docker pull xxx-devops-docker.pkg.coding.net/public-repository/sl/node:0.0.2
查看拉取的镜像
[root@VM-0-11-centos test]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
xxx-devops-docker.pkg.coding.net/public-repository/sl/node 0.0.2 5d6d985c0849 5 seconds ago 110MB
运行一次性容器
docker run -it 5d6d985c0849 /bin/sh
在容器中操作(以安装node依赖为例)
npm install generic-pool
退出容器
exit
查看刚才运行的容器信息
[root@VM-0-11-centos test]# docker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
39eff2c2f679 c24e6264079d "docker-entrypoint.s…" 13 minutes ago Exited (1) 15 seconds ago condescending_meitner
将容器提交为新的镜像
[root@VM-0-11-centos test]# docker commit 39eff2c2f679 xxx-devops-docker.pkg.coding.net/public-repository/sl/node:0.0.2
sha256:5d6d985c084930af6e7cb991c39385300a9a5c99b5c4101323a37d9d1cd616f1
查看新的镜像,下面的是因为新提交的tag和之前的重复了
[root@VM-0-11-centos test]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
xxx-devops-docker.pkg.coding.net/public-repository/sl/node 0.0.2 5d6d985c0849 5 seconds ago 110MB
xxx-devops-docker.pkg.coding.net/public-repository/sl/node <none> c24e6264079d 3 weeks ago 110MB
推送新镜像到仓库
在推送之前,一定要先确保新的镜像没问题,再推送到远端。
注:如果镜像是通过Dockerfile
生成的,建议使用Dockerfile
去完成添加内容的工作。因为开发环境是自己的机器,上面的k8s
和docker
都是公司安装的,使用docker
命令搞的镜像是没问题的,但是外网用的腾讯云的k8s
集群,我使用docker
命令提交内容,生成的镜像竟然出现了额外的内容,导致我的镜像无法使用。
docker push xxx-devops-docker.pkg.coding.net/public-repository/sl/node:0.0.2
小插曲,再提醒一下
在推送之前,一定要先确保新的镜像没问题,再推送到远端。
注:如果镜像是通过Dockerfile
生成的,建议使用Dockerfile
去完成添加内容的工作。因为开发环境是自己的机器,上面的k8s
和docker
都是公司安装的,使用docker
命令搞的镜像是没问题的,但是外网用的腾讯云的k8s
集群,我使用docker
命令提交内容,生成的镜像竟然出现了额外的内容,导致我的镜像无法使用。