一、前期准备

  1、下载一个centos镜像,进入容器,安装wget

docker pull centos
docker run -it centos bash
[root@web1 ~]# docker run -it centos bash         #进入容器
[root@4f1f1ca319f2 /]#
[root@4f1f1ca319f2 /]#
[root@4f1f1ca319f2 /]# cd
[root@4f1f1ca319f2 ~]# ls
anaconda-ks.cfg
[root@4f1f1ca319f2 ~]# cd /etc/yum.repos.d/ #配置yum源
[root@4f1f1ca319f2 yum.repos.d]# ll
total
-rw-r--r-- root root Nov CentOS-Base.repo
-rw-r--r-- root root Nov CentOS-CR.repo
-rw-r--r-- root root Nov CentOS-Debuginfo.repo
-rw-r--r-- root root Nov CentOS-Media.repo
-rw-r--r-- root root Nov CentOS-Sources.repo
-rw-r--r-- root root Nov CentOS-Vault.repo
-rw-r--r-- root root Nov CentOS-fasttrack.repo
[root@4f1f1ca319f2 yum.repos.d]# yum install wget -y #安装wget,默认没有wget安装

  2、安装软件源

mkdir backup
mv c* /etc/yum.repo.d/bakcup
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget https://mirrors.aliyun.com/centos/7.6.1810/extras/x86_64/Packages/epel-release-7-11.noarch.rpm

  3、安装软件,比如nginx

yum install nginx -y

二、制作镜像

    说明,下面制作镜像先用之前的nginx镜像做的副本,下面才是centos镜像

  1、使用docker commit 来提交容器副本

    -m 提交时的描述文字

dock commit -m 容器 镜像名
docker commit -m 'add nginx images' mynginx zxg/my_nginx
docker commit -m 'add nginx images' mynginx zxg/my_nginx:v1
docker images
docker ps -a
[root@web1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4f1f1ca319f2 centos "bash" About an hour ago Up About an hour musing_lichterman
[root@web1 ~]# docker commit --help Usage: docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]] Create a new image from a container's changes Options:
-a, --author string Author (e.g., "John Hannibal Smith <hannibal@a-team.com>")
-c, --change list Apply Dockerfile instruction to the created image (default [])
--help Print usage
-m, --message string Commit message
-p, --pause Pause container during commit (default true)
###制作镜像
[root@web1 ~]# docker commit -m 'add nginx images' mynginx zxg/my_nginx
sha256:f07837869dfc057273c8fd4dad1ddd7f391abb7c75dd4ecf8f84e33e84bc6b0d
[root@web1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
zxg/my_nginx latest f07837869dfc seconds ago MB
docker.io/nginx latest e445ab08b2be days ago MB
docker.io/alpine latest b7b28af77ffe weeks ago 5.58 MB
docker.io/centos latest 9f38484d220f months ago MB
###加版本号
[root@web1 ~]# docker commit -m 'add nginx images' mynginx zxg/my_nginx:v1
sha256:b164f4c07c6407420327a48dc0259c52f31cc3ae13ca0b292b8ac5cad1b0052b
[root@web1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
zxg/my_nginx v1 b164f4c07c64 seconds ago MB
zxg/my_nginx latest f07837869dfc seconds ago MB
docker.io/nginx latest e445ab08b2be days ago MB
docker.io/alpine latest b7b28af77ffe weeks ago 5.58 MB
docker.io/centos latest 9f38484d220f months ago MB
[root@web1 ~]# docker run -d --name my_nginx zxg/my_nginx nginx
b326027dcf4275190f7766a65510d73a5f6b15e60875254e5f729f108f809a4e
[root@web1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4f1f1ca319f2 centos "bash" About an hour ago Up About an hour musing_lichterman
###查看进程
[root@web1 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
b326027dcf42 zxg/my_nginx "nginx" seconds ago Exited () seconds ago my_nginx
4f1f1ca319f2 centos "bash" About an hour ago Up About an hour musing_lichterman
64b4e32991c7 nginx "nginx -g 'daemon ..." days ago Exited () days ago mynginx1
f8b2da5476ed nginx "nginx -g 'daemon ..." days ago Exited () days ago mynginx
6dbdfaf6da3a alpine "sh" days ago Created distracted_shannon
aee506fe7b5a alpine "sh" days ago Created infallible_haibt
70620c73b9a0 alpine "sh" days ago Created gallant_volhard
7655cbf87bb0 alpine "sh" days ago Created agitated_brahmagupta
33fb949372e8 fce289e99eb9 "/hello" days ago Created elastic_dijkstra
9de47616aea4 fce289e99eb9 "/hello" days ago Created confident_fermi

    centos镜像制作过程如下:

[root@web1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
2940076be5f7 centos "bash" About an hour ago Up About an hour suspicious_khorana
[root@web1 ~]# docker commit -m 'add centos-nginx' 2940076be5f7 zxg/centos_nginx:v1
sha256:7c6604cacec13e7caf5b4f99c514009c43df88cf59c69b2ff5a608dfc8216eae
[root@web1 ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
zxg/centos_nginx v1 7c6604cacec1 seconds ago MB
docker.io/atlassian/jira-software latest c4b90dede4f3 days ago MB
zxg/my_nginx v1 b164f4c07c64 weeks ago MB
zxg/my_nginx latest f07837869dfc weeks ago MB
docker.io/nginx latest e445ab08b2be weeks ago MB
docker.io/alpine latest b7b28af77ffe weeks ago 5.58 MB
docker.io/centos latest 9f38484d220f months ago MB
[root@web1 ~]#
[root@web1 ~]# docker run -it  --name centos-nginx zxg/centos_nginx:v1  /bin/bash
[root@e93232ab8601 /]#
[root@e93232ab8601 /]# rpm -qa nginx
nginx-1.12.-.el7.x86_64
[root@e93232ab8601 /]#

    另外开一个窗口

[root@web1 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e93232ab8601 zxg/centos_nginx:v1 "/bin/bash" seconds ago Up seconds centos-nginx

  2、制作好的镜像可以上传官网(需要注册账号)

docker login https:hub.docker.com
docker tag b326027dcf42 docker.io/myname/mynginx      #打标签
docker push docker.io/myname/mynginx

转载请注明出处:https://www.cnblogs.com/zhangxingeng/p/11326365.html 

 

Docker2 docker commit方法镜像制作的更多相关文章

  1. Docker系列-(2) 镜像制作与发布

    上篇文章引入了Docker的基本原理和操作,本节文章主要介绍如何制作Docker镜像和发布. 镜像文件结构 Docker镜像的本质是一系列文件的集合,这些文件依次叠加,形成了最后的镜像文件,类似于下图 ...

  2. Docker Java程序镜像制作

    Docker Java程序镜像制作 制作前的准备 jre:不需要完整的jdk,jre即可,到Oracle进行下载即可,下载链接,根据自己的情况进行选择,这里选择jre-8u221-linux-x64. ...

  3. 利用docker进行基础镜像制作

    前言 最近想通过Javaee来开发博客,但是不想因为环境配置问题总是耗时间配置相关配置,所以萌生出用docker镜像来搭建web的系统环境,也是作为docker学习实践的笔记. docker hub注 ...

  4. Docker(十一)-Docker commit创建镜像

    创建镜像有很多方法,用户可以从 Docker Hub 获取已有镜像并更新,也可以利用本地文件系统创建一个. 修改已有的镜像 查看已有的镜像: $ sudo docker images REPOSITO ...

  5. Docker笔记——jdk镜像制作

    openjdk镜像依赖如下: openjdk:8-jdk -> buildpack-deps:jessie-scm -> buildpack-deps:jessie-curl -> ...

  6. Docker笔记——jenkins镜像制作

    jenkins官方路径:https://hub.docker.com/_/jenkins/ 最新Dockerfile路径:https://github.com/jenkinsci/docker/blo ...

  7. Docker学习以及镜像制作流程

    一.何为Docker Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源. Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后 ...

  8. docker镜像的创建方法docker commit方式

    Docker 提供了两种构建镜像的方法: docker commit 命令(交互式修改创建) Dockerfile 构建文件 (文本命令定义) Docker commit方法: 1.运行一个现有容器 ...

  9. docker镜像制作及发布

    以centos为例. 主要内容:安装docker,制作镜像,发布镜像. 安装docker 1. 安装docker yum install -y docker 等待一会,安装成功,查看安装列表 2. 启 ...

随机推荐

  1. LOJ572. 「LibreOJ Round #11」Misaka Network 与求和 [莫比乌斯反演,杜教筛,min_25筛]

    传送门 思路 (以下令\(F(n)=f(n)^k\)) 首先肯定要莫比乌斯反演,那么可以推出: \[ ans=\sum_{T=1}^n \lfloor\frac n T\rfloor^2\sum_{d ...

  2. nRF51822 配置超过4个的 按键驱动

    最近一个用到超过4个按键驱动,PCA10028 的板子上只有4个,所以SDK9 的pca10028.h 的宏只定义了4 #define BUTTONS_NUMBER 4 但是我要用超过4个的时候,就不 ...

  3. ubuntu之路——day13 只用python的numpy在较为底层的阶段实现单隐含层神经网络

    首先感谢这位博主整理的Andrew Ng的deeplearning.ai的相关作业:https://blog.csdn.net/u013733326/article/details/79827273 ...

  4. window上可以执行的shell脚本,复制到linux上执行报错了

    原因:.sh脚本在windows系统下用记事本文件编写的.不同系统的编码格式引起的. 解决方法:修改.sh文件格式 (1)使用vi工具vi build_android.sh (2)利用如下命令查看文件 ...

  5. visual studio(vs)初始化

    cmd 进入到 devenv.exe 所在目录 执行一下命令 devenv.exe /setup /resetuserdata /resetsettings

  6. Windows EXE 依赖DLL查看

    dumpbin (这个是visual studio 提供的工具或者可以安装 Dependency Walker)来查看 DLL 依赖关系 dumpbin /dependents filename.ex ...

  7. PAT 甲级 1076 Forwards on Weibo (30分)(bfs较简单)

    1076 Forwards on Weibo (30分)   Weibo is known as the Chinese version of Twitter. One user on Weibo m ...

  8. Swift编码总结8

    1.判断当前控制器是否在显示: // 判断当前控制器是否在显示 func isCurrentViewControllerVisible() -> Bool { return (self.isVi ...

  9. [LeetCode] 295. Find Median from Data Stream 找出数据流的中位数

    Median is the middle value in an ordered integer list. If the size of the list is even, there is no ...

  10. 使用Nginx+WordPress搭建个人网站

    背景 很多研究技术的朋友喜欢写博客.如果希望搭建一个完全属于自己的网站,也并不困难.这里简要分享一下我搭建这个博客网站的经验. 关键步骤 购买服务器.域名.DNS云解析服务 网站备案(可选) 安装Ng ...