我觉得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. 工控安全入门(五)—— plc逆向初探

    之前我们学习了包括modbus.S7comm.DNP3等等工控领域的常用协议,从这篇开始,我们一步步开始,学习如何逆向真实的plc固件. 用到的固件为https://github.com/ameng9 ...

  2. TP5隐藏index.php

    一,找到/public/.htaccess文件,如果你的入口文件已经移动到根目录下,那么你的.htaccess文件也要剪切到根目录下,总之要确保.htaccess跟入口的index.php保持同级. ...

  3. valueStack(值栈)

    值栈 值栈(ValueStack)就是 OGNL 表达式存取数据的地方.在一个值栈中,封装了一次请求所需要的所有数据. 在使用 Struts2 的项目中,Struts2 会为每个请求创建一个新的值栈, ...

  4. VirtualBox新建虚拟机常用配置

    1.内存给到1G,不然无法进入图形界面进行分区配置及软件包选择.虚拟机存储记得放到D盘. 2.网络选择桥接模式以便SSH,初次登陆后配置/etc/sysconfig/network-scripts/i ...

  5. sublime中用less实现css预编译

    实现css预编译的方式有很多,听说glup很流行而且功能也很强大,但是就目前的工作而言,仅要css预编译和YUIcompress就够了,接下来切入正题 Less 是一门 CSS 预处理语言,它扩展了 ...

  6. poj 1269 Intersecting Lines(判断两直线关系,并求交点坐标)

    Intersecting Lines Time Limit: 1000MS   Memory Limit: 10000K Total Submissions: 12421   Accepted: 55 ...

  7. LintCode_114 不同的路径,115 不同的路径 II

    题目 有一个机器人的位于一个M×N个网格左上角(下图中标记为'Start'). 机器人每一时刻只能向下或者向右移动一步.机器人试图达到网格的右下角(下图中标记为'Finish'). 问有多少条不同的路 ...

  8. solr高亮及摘要

    修改了原文的一点内容:原文地址为:http://www.cnblogs.com/rainbowzc/p/3680343.html 高亮显示 两种方法: 1.在程序里通过设置query返回高亮信息 pu ...

  9. Win7。56个进程让我头疼

    乱七八糟的进程一个一个往外蹦,如此痛苦. 安装了一个VM9,进程数量+5,安装了卖咖啡的,进程数量+5. 除去这10个,系统进程数量还有46个....还是太多... 64位系统,真的很痛苦,还没有怎么 ...

  10. 洛谷P1514 [NOIP2010提高组T4]引水入城

    P1514 引水入城 题目描述 在一个遥远的国度,一侧是风景秀美的湖泊,另一侧则是漫无边际的沙漠.该国的行政区划十分特殊,刚好构成一个N 行M 列的矩形,如上图所示,其中每个格子都代表一座城市,每座城 ...