我觉得docker最大的便利性体现在可以实现镜像共享,方便团队在同一环境下开发。当然docker的强大之处不止于此。

接下来我用一个例子来演示如何进行docker镜像共享,步骤如下(Ubuntu):

准备工作:首先确定已经安装了docker-ce,网上有大量的介绍,也可以参考我的另一篇博客“docker-ce安装”。

1.登录https://hub.docker.com/注册自己的docker hub 账号,创建完成后登录账户。

创建仓库

出现下图表示创建成功

2.从docker library pull一个Ubuntu18.04的镜像,在终端执行下面的命令。

sudo docker pull ubuntu:18.04

可以使用docker images 查看镜像。

3.基于该镜像新建一个容器并启动,通过一个 bash 终端,允许用户进行交互。通过下面的命令实现

sudo docker run  -it ubuntu:18.04 bash

可以看到已经进入交互模式。

4.给该容器安装python,通过下面的命令实现。

 apt-get update
apt-get install python

步骤2,3,4实现了自带Python的Ubuntu18.04镜像。

通过exit退出容器。

5.保存自定义的镜像,通过以下命令实现。

docker commit -m "ubuntu18.04 with Python" -a "fuhang" b19f42d71f6f fuhang/ubuntu:python

可以看到生成了镜像id,可以通过docker images查看该镜像。

可以通过该镜像新建一个容器并启动

sudo  docker run -it fuhang/ubuntu:python bash

可以看到已经实现了自定义Ubuntu:python镜像。

6.登录docker hub,使用命令docker login 填入用户名和密码

7.将该镜像上传docker hub,通过下面的命令实现。

sudo docker push fuhang/ubuntu:python

在docker hub中查看

8.下载该镜像运行

因为是在同一台机子上测试,所以已经有了该镜像,所以首先删除该镜像,用下面的命令

docker image rm fuhang/ubuntu:python

接下来再用docker images 查看镜像发现没有fuhang/ubuntu:python镜像了。

9.从docker hub 中下载fuhang/ubuntu:python镜像

 docker pull fuhang/ubuntu:python

10.测试该镜像

docker run -it fuhang/ubuntu:python bash

通过上面的步骤我们实现了自定义镜像、上传到docker hub 、下载到本地应用。

实现自定义docker 镜像共享的更多相关文章

  1. 构建自定义docker镜像,上传至docker hub

    docker 优势 (外部参考) Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后 发布到任何流行的Linux机器上,便可以实现虚拟化.Docker改变了虚拟化的方 式,使 ...

  2. Dockerfile创建自定义Docker镜像以及CMD与ENTRYPOINT指令的比较

    1.概述 创建Docker镜像的方式有三种 docker commit命令:由容器生成镜像: Dockerfile文件+docker build命令: 从本地文件系统导入:OpenVZ的模板. 关于这 ...

  3. 自定义docker镜像

    1.拉去centos当作基础镜像 2.重要!!!必须使用超级权限启动: docker run --privileged -ti --name latestCenos  centos /usr/sbin ...

  4. Docker镜像的修改和自定义

    一.docker镜像的更新 (1)启动镜像,写入一些文件或者更新软件 docker run -it 3afd47092a0e[root@44652ba46352 /]# ls (2)更新镜像 dock ...

  5. Docker镜像搭建Linux下samba共享目录

    Samba 是 SMB/CIFS 网络协议的重新实现, 它作为 NFS 的补充使得在 Linux.OS/2.DOS 和 Windows 系统中进行文件共享.打印机共享更容易实现.SMB协议是客户机/服 ...

  6. 创建Python数据分析的Docker镜像+Docker自定义镜像commit,Dockerfile方式解析+pull,push,rmi操作

    实例解析Docker如何通过commit,Dockerfile两种方式自定义Dcoker镜像,对自定义镜像的pull,push,rmi等常用操作,通过实例创建一个Python数据分析开发环境的Dock ...

  7. 【Docker学习之四】Docker自定义容器镜像

    环境 docker-ce-19.03.1-3.el7.x86_64 centos 7 一.使用已有容器创建镜像-docker commit1.查看本地已有镜像 [root@node105 ~]# do ...

  8. 『现学现忘』Docker基础 — 35、实战:自定义CentOS镜像

    目录 1.前提说明 2.编写Dockerfile文件 3.构建镜像 4.运行镜像 5.列出镜像的变更历史 1)目标:自定义镜像wokong_centos. 2)所用到的保留字指令: FROM:基础镜像 ...

  9. 『现学现忘』Docker基础 — 39、实战:自定义Tomcat9镜像

    目录 1.目标 2.准备 3.编写Dockerfile文件 4.构建镜像 5.启动镜像 6.验证容器是否能够访问 7.向容器中部署WEB项目,同时验证数据卷挂载 (1)准备一个简单的WEB项目 (2) ...

随机推荐

  1. sqlserver 下三种批量插入数据的方法

    本文将介绍三种批量插入数据的方法,需要的朋友可以参考下 本文将介绍三种批量插入数据的方法.第一种方法是使用循环语句逐个将数据项插入到数据库中:第二种方法使用的是SqlBulkCopy,使您可以用其他源 ...

  2. AppbarLayout的简单用法

    在许多App中看到, toolbar有收缩和扩展的效果, 例如:   appbar.gif 要实现这样的效果, 需要用到: CoordinatorLayout和AppbarLayout的配合, 以及实 ...

  3. container中的内容 垂直-水平居中

    .container{ display: box; display: -webkit-box; -webkit-box-pack: center; -webkit-box-align: center; ...

  4. java.sql.SQLIntegrityConstraintViolationException: Cannot add or update a child row: a foreign key constraint fails

    HTTP Status 500 - Request processing failed; nested exception is org.hibernate.exception.ConstraintV ...

  5. java udp协议DatagramSocket类使用

    package com.temp; import org.junit.Test; import java.io.*; import java.net.DatagramPacket; import ja ...

  6. react-native start停止在Loading dependency graph, done.

    在试验的过程中. 发现运行 react-native start会卡住,停留在Loading dependency graph, done. 原因大概是之前运行过 react-native run-a ...

  7. Vue-cli3.x在开发环境中(router采用 history模式)出现Failed to resolve async component default: Error: Loading chunk {/d} failed.或者Uncaught SyntaxError: Unexpected token <错误

    使用Vue-cli3.x开发环境中(router采用 history模式)出现Failed to resolve async component default: Error: Loading chu ...

  8. H5C3--仿京东首页(包含轮播图,倒计时)

    !!!很抱歉,之前的域名已经过期了,已经被别人购买了拿去做菠菜了,现在的话,京东页面我重新发布一下代码 #请看注意事项,因为有模拟请求,请在本地服务器或者IDEA类编译器打开(2019年10月10日0 ...

  9. 洛谷P2381 圆圆舞蹈

    P2381 圆圆舞蹈 题目描述 熊大妈的乃修在时针的带领下,围成了一个圆圈舞蹈,由于没有严格的教育,奶牛们之间的间隔不一致. 奶牛想知道两只最远的奶牛到底隔了多远.奶牛A到B的距离为A顺时针走和逆时针 ...

  10. 【洛谷P1827】【USACO】 美国血统 American Heritage 由二叉树两个序列求第三个序列

    P1827 美国血统 American Heritage 题目描述 农夫约翰非常认真地对待他的奶牛们的血统.然而他不是一个真正优秀的记帐员.他把他的奶牛 们的家谱作成二叉树,并且把二叉树以更线性的&q ...