添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

第一步 查看需要修改的镜像

sudo docker image ls 镜像tag

sudo docker image ls harborinner.517la.com:1111/dev/cluserappweb:2020-10-09-18-15-17

第二步 进入需要修改的镜像

sudo docker run -it ‘镜像id’ /bin/sh
或者
sudo docker run -it ‘镜像的tag’ /bin/sh

sudo docker run -it dc4840e1b0e4 /bin/sh
sudo docker run -it harborinner.517la.com:1111/dev/cluserappweb:2020-10-09-18-15-17 /bin/sh

第三步 做相应修改,例如修改tomcat端口,server.xml,保存

在这里插入图片描述
完成之后用exit退出

第四步 用docker commit从容器打包镜像

用docker ps -a找到第二步退出的目前已为exit状态的容器id。然后执行如下命令重新打镜像

sudo docker ps -a

sudo docker commit -m “备注” -a “作者” 容器id 镜像tag

sudo docker commit -m "test" -a "leon" ac12c8e1f24f harborinner.517la.com:1111/dev/cluserappweb:2020-10-09-18-15-17-new

之后用docker images就能在本地找到重新打好的镜像
在这里插入图片描述

第四步 上传到镜像库

登陆镜像仓库
sudo docker login --username=用户名 仓库地址

sudo docker login --username=admin http://harborinner.517la.com:1111

sudo docker push 镜像tag

sudo docker push harborinner.517la.com:1111/dev/cluserappweb:2020-10-09-18-15-17-new

第五步 至此,我们修改后的镜像就推送至仓库了

我们到仓库查看一下
在这里插入图片描述

容器启动一闪而过

如果参考以上操作修改tomcat镜像后重新上传启动容器,会发现tomcat容器无法启动(启动一下就默认退出)

原因是因为通过/bin/sh进入容器,会将镜像默认的入口覆盖,例如tomcat镜像默认入口是catalina.sh run

一个是在启动时重新指定启动入口,如:

docker run harborinner.517la.com:1111/dev/cluserappweb:2020-10-09-18-15-17-new catalina.sh run

还有一种方法是启动容器之后,通过docker exec进入容器进行修改,然后再用docker commit打镜像。

sudo docker exec -it dc4840e1b0e4 /bin/sh

这样做的好处是打出来的镜像入口不会被覆盖

使用场景最近工作中遇到的问题,需要对已有的镜像进行修改并重新上传。具体操作第一步 查看需要修改的镜像docker image ls 镜像tagdocker image ls harborinner.517la.com:1111/dev/cluserappweb:2020-10-09-18-15-17第二步 进入需要修改的镜像docker run -it ‘镜像id’ /bin/sh或者docker run -it ‘镜像的tag’ /bin/shdocker run -it dc48
镜像构建成功后,只要有docker环境就可以使用,但必须将镜像推送Docker Hub上去。我们之前创建的镜像不符合Docker Hub的tag要求,因为 在Docker Hub注册的用户名是boonyadocker而不是boonya,所以需要docker tag进行修改,最后利用docker push命令推送镜像到公共仓库Docker hub注册用户 到官网注册账号:https://hub.docker.com/ 在本地Linux登录dockerdocker login 输入用户名密码进行登录: docker@default:~$ docker login Login wit
Docker 的 Wercker 步骤 这个 wercker 步骤允许将项目为 Docker 映像并推送在注册表中创建的映像。 此步骤必须与使用构建的 wercker box 一起使用。 Docker 集成工作流 要构建和推送 Docker 镜像,Wercker 步骤遵循以下步骤: 第 1 步: 以下配置允许设置此步骤: image (必需):要推送到注册表的图像 path (可选):构建上下文路径。 默认情况下: 。 第 2 步: 以下配置允许设置此步骤: tags (可选):逗号分隔的标签列表。 每个标记的图像将被推送。 默认:最新 第 3 步: 以下配置允许设置此步骤: registry (可选)Docker 注册服务器,如果没有指定服务器,“ ”是默认值。 username (必填) 登录 Docker 注册表所需的用户username password (requ
平时我们构建的 Docker 镜像通常比较大,占用大量的磁盘空间,随着容器的大规模部署,同样也会浪费宝贵的带宽资源。本文将介绍几种常用的方法来优化 Docker 镜像大小,这里我们使用 Docker Hub 官方上的 Redis 镜像进行说明。 我们能够直接想到的方法就是直接修改官方的 Redis 镜像 Dockerfile 文件,手动删除容器运行后不需要的组件,然后重新构建一个新镜像。这种方法理论上是可行的,但是容易出错,而且效果也不是特别明显。主要是不能和官方的镜像实时同步。 多阶段构建 Docker 在17.05 版本起提供了多阶段构建的功能来解决这个问题,这种方法是通过丢弃中
docker 如何在原有的镜像基础上进行修改生成一个新的镜像呢,步骤如下: step1:进入容器安装需要的环境:sudo docker exec -it docked name bash step2:同时按crtl+p+q退出该容器并从该容器生成一个镜像: docker commit -a "制作者名字" -m "备注" 容器ID 镜像名称:镜像标签 ps:sudo docker ps -a|grep dockername 可以查看容器ID 2.运行regietry 镜像 docker run -it -d -p 5000:5000 --resatrt=always -v /usr/registry:/tmp/registry --privileged=true registry --privileged=true作用是防止用户无权限无法创建容器
通过连接下载windowdocker安装文件,https://download.docker.com/win/stable/Docker%20for%20Windows%20Installer.exe 安装完成之后,修改镜像仓库地址 1.1、首先要在public文件夹下新建一个static文件夹。然后新建一个config.js文件 Vue-cli2项目的是没有public文件夹。只有static文件夹。也就是说vue-cli2项目的放置在static文件夹下。打包的时候不会被打包进去 config.js内容: window.g = { SERVER_URL:'SERVER_URL_S' 1.2、axios工具类也要相应地更改一下 然后打包放上服务器上。
DOCKERFILE_PATH="./Dockerfile" REGISTRY_URL="registry.example.com" REGISTRY_NAMESPACE="my-namespace" # 构建镜像 docker build -t $IMAGE_NAME:$IMAGE_TAG -f $DOCKERFILE_PATH . # 登录镜像仓库 docker login $REGISTRY_URL # 推送镜像 docker tag $IMAGE_NAME:$IMAGE_TAG $REGISTRY_URL/$REGISTRY_NAMESPACE/$IMAGE_NAME:$IMAGE_TAG docker push $REGISTRY_URL/$REGISTRY_NAMESPACE/$IMAGE_NAME:$IMAGE_TAG 使用该脚本,只需将其保存为一个.sh文件,然后在终端中执行即可完成自动打包并推送镜像的操作。注意,执行该脚本之前需要确保已经安装了Docker,并且已经登录了镜像仓库