我觉得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. 工控安全入门(六)——逆向角度看Vxworks

    上一篇文章中我们对于固件进行了简单的分析,这一篇我们将会补充一些Vxworks的知识,同时继续升入研究固件内容. 由于涉及到操作系统的内容,建议大家在阅读本篇前有一定操作系统知识的基础,或者是阅读我的 ...

  2. 深入浅出 Java Concurrency (10): 锁机制 part 5 闭锁 (CountDownLatch)[转]

    此小节介绍几个与锁有关的有用工具. 闭锁(Latch) 闭锁(Latch):一种同步方法,可以延迟线程的进度直到线程到达某个终点状态.通俗的讲就是,一个闭锁相当于一扇大门,在大门打开之前所有线程都被阻 ...

  3. python冒泡排序算法的实现代码

    python冒泡排序算法的实现代码 这篇文章主要介绍了python冒泡排序算法的实现代码,大家参考使用 1.算法描述: (1)共循环 n-1 次 (2)每次循环中,如果 前面的数大于后面的数,就交换 ...

  4. PAT甲级——A1045 Favorite Color Stripe

    Eva is trying to make her own color stripe out of a given one. She would like to keep only her favor ...

  5. opencv4 java投影

    工程下载 https://download.csdn.net/download/qq_16596909/11505994 比较适合与验证码的处理,毕竟八邻域降噪不能消除比较大的噪点,为了尽量减少噪点对 ...

  6. SpringCloud微服务实战三:Hystix的基本概念

    1.说到隔离.熔断.降级,最出名的就是 Netflix 开源的 Hystrix 组件,Hystix官方对它描述为:Hystrix是一个延迟和容错库,旨在隔离远程系统.服务和第三方库,阻止级联故障,在复 ...

  7. Redis源码解析:30发布和订阅

    Redis的发布与订阅功能,由SUBSCRIBE,PSUBSCRIBE,UNSUBSCRIBE,PUNSUBSCRIBE,以及PUBLISH等命令实现. 通过执行SUBSCRIBE命令,客户端可以订阅 ...

  8. swiper 报错 ‘ Can't find variable: Dom7’

    一般报这个错是因为浏览器兼容问题,例如低版本的IE 现在通过npm install swiper 安装的版本都是4.x的 我的解决方法就是安装低版本的swiper, npm install swipe ...

  9. linux追加中文字库,解决imagemagick 中文乱码的问题。

    Windows下的字体丰富多样,而且显示的工整.漂亮. 所以自己想把windows上的字体移到Ubuntu下来.Windows下字体库的位置为C:\Windows\fonts,这里面包含所有windo ...

  10. VC开发多语言界面 多种方法(非常easy) 有源代码

    源代码地址(专业定制程序:MCU,Windows,Android .VC串口,Android蓝牙等不限.) (需源代码先留邮箱)先上图 1.通过遍历 得到全部控件ID号与TEXT,得到一个中文语言配置 ...