docker之修改镜像内部并上传docker hub

Posted by cherich on

category: docker

标签: docker 镜像

先说解决方式:

由于利用docker部署,其实在docker内部拷贝了一份项目,而你修改源目录的项目时不起作用的,替换一下就好了 我的Dockerfile 图中/usr/src/app就是我将项目存到docker中的地址,将docker中的项目替换成更新的源目录项目

sudo docker cp /home/ubuntu/originblog-master/app/ 你的容器ID:/usr/src

替换成功后,重新启动下镜像,更新的内容就生效了。

下面是解决问题时用到的命令(可忽略)

1、Docker 删除镜像

①. 删除前需要保证容器是停止的 stop ②. 需要注意删除镜像和容器的命令不一样。 docker rmi ID ,其中 容器(rm) 和 镜像(rmi) ③. 顺序需要先删除容器

2、docker修改镜像名称
docker tag 镜像ID REPOSITORY:TAG
3、解决Docker无法删除镜像 - image is referenced in multiple
docker rmi ace-gate:v9(加上TAG就行了)
4、docker镜像内的文件互相拷贝
将本地文件拷贝到docker 镜像内
docker cp /Users/howey/Documents/apache-maven-3.5.2/ 749056ea1637:/opt
docker cp 本地路径 容器Id或name:容器目录
将docker内文件拷贝到本地文件夹内
docker cp 749056ea1637:/Users/howey/Documents/apache-maven-3.5.2 /opt/
docker cp 容器Id:本地路径 镜像路径
5、如何将自己的镜像上传到Docker hub上

①.首先需要拥有自己的Docker hub账号,注册地址

②.使用Docker hub账号在验证本地登录

docker login

③.先docker images看看本地的镜像

如果REPOITORY的名不是你Docker hub账号和仓库,即Docker ID/仓库名,是上传不成功的,当然可以使用下面命令更改

docker tag 镜像ID 用户名称/镜像源名(repository name):新的标签名(tag)

④ 提交修改,生成一个新版本,-m为添加注释;-a是作者;后面546598027dda 是容器ID;后面跟的是你要生成的镜像的名字。

docker commit -m "Added a new image" -a "cherich" 546598027dda cherichsun/originblog:0.1

④.使用docker push命令将镜像上传到docker hub的仓库

docker push <hub-user>/<repo-name>:<tag>

⑤.登录到自己的Docker hub上验证

6、进入容器内部
 docker exec -it  blog /bin/sh(可能docker版本的原因,我用这个命令可以进去)
 docker exec -it  blog /bin/bash
7、如何将自己的镜像拉到服务器上

进入你自己的docker hub

docker pull cherichsun/originblog:0.1

image.png 好了,可以在当前服务器上启动镜像,可以运行了。


0 条评论 最新

No comments.