Docker镜像提交命令commit的工作原理和使用方法

在本地创建一个容器后,可以依据这个容器创建本地镜像,并可把这个镜像推送到Docker hub中,以便在网络上下载使用。

下面我们来动手实践。

docker pull nginx:1.15.3

用命令行启动一个容器:

docker run -d -p 1080:80 --name jerry-nginx nginx:1.15.3

localhost:1080

进入容器的shell:

docker exec -it jerry-nginx /bin/bash

查看这个nginx镜像默认的首页:

我想在容器里使用wget,所以先安装:

apt-get update && apt-get -y install wget

使用wget命令下载一个图片文件和一个html文件到Nginx服务器存放网页的位置:

wget --no-check-certificate -O /usr/share/nginx/html/evil.jpg https://github.com/raw/slvi/docker-k8s-training/master/docker/res/evil.jpg
wget --no-check-certificate -O /usr/share/nginx/html/index.html https://github.com/raw/slvi/docker-k8s-training/master/docker/res/evil.html

重新刷新页面,我们现在看到的页面已经变成了wget下载下来的页面:

我们现在希望把这个容器里发现的修改固化下来,以便其他人可以使用。

docker commit jerry-nginx jerry-modify-nginx:1.0

sha256:7e243a7b4c0796e3a787fe963224fdf1fe81d9fe9b283f6f3e4f17e1defa0c96

使用命令将1.0设置成latest tag:

docker tag jerry-modify-nginx:1.0 jerry-modify-nginx:latest

用docker stop jerry-nginx把旧的容器停掉,再启动修改后的容器jerry-modify-nginx:

docker history命名查看这个新镜像的历史:

执行命令给这个新的镜像打上标签:

docker tag jerry-modify-nginx:latest registry.ingress.shcw46.k8s-train.shoot.canary.k8s-hana.ondemand.com/jerry-modify-nginx:760d7ca6

把打上标签的镜像push到远端:

docker push registry.ingress.shcw46.k8s-train.shoot.canary.k8s-hana.ondemand.com/jerry-modify-nginx:760d7ca6

要获取更多Jerry的原创文章,请关注公众号"汪子熙":

原创声明,本文系作者授权云+社区发表,未经许可,不得转载。

如有侵权,请联系 yunjia_community@tencent.com 删除。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Jerry的SAP技术分享

Docker入门系列之二:使用dockerfile制作包含指定web应用的镜像

在前一篇文章:Docker入门系列之一:在一个Docker容器里运行指定的web应用 里,

1090
来自专栏大魏分享(微信公众号:david-share)

Openshift容器云安全加固措施70项

前言 企业中使用容器承载业务,除了考虑到容器的优势之外,容器的安全更是很多客户关心的话题。本篇文章就此进行讨论。本文在书写过程中,参考了一些文档,文后给出了链接...

6137
来自专栏北京马哥教育

24条 Docker 建议

在TES GLOBAL,我们已经爱上Docker并从Docker的0.8版本开始就在生产环境中使用它。我们的很多开发者都参加了在DockerCon欧洲上的培训...

3764
来自专栏散尽浮华

Docker容器学习梳理--日常操作总结

使用Docker已有一段时间了,今天正好有空梳理下自己平时操作Docker时的一些命令和注意细节: Docker 命令帮助 $ sudo docker Com...

4525
来自专栏糊一笑

小白学Docker之基础篇

系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm PS: 以下是个人作为新手小白学习docker的笔记...

5134
来自专栏搜云库

Ubuntu 17.04 x64 安装 Docker CE 初窥 Dockerfile 部署 Nginx

Docker 是个划时代的开源项目,它彻底释放了计算虚拟化的威力,极大提高了应用的运行效率,降低了云计算资源供应的成本!使用 Docker,可以让应用的部署、测...

2466
来自专栏架构技术

sqlserver 2017 docker安装(启动代理)

从 Docker Hub 中拉出 SQL Server 2017 Linux 容器映像。

1232
来自专栏Java架构

微服务架构基于Nginx、Node.js和Redis的Docker工作流

2595
来自专栏草根专栏

Docker & ASP.NET Core (3):发布镜像

不过随后我还是查看了Docker的文档:https://docs.docker.com/engine/examples/dotnetcore/#why-buil...

1642
来自专栏微服务

Centos搭建Docker环境

安装Docker 安装Docker Docker 软件包已经包括在默认的 CentOS-Extras 软件源里。因此想要安装 docker,只需要运行下面的 ...

34210

扫码关注云+社区

领取腾讯云代金券