实现自定义docker 镜像共享
我觉得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 镜像共享的更多相关文章
- 构建自定义docker镜像,上传至docker hub
docker 优势 (外部参考) Docker 让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后 发布到任何流行的Linux机器上,便可以实现虚拟化.Docker改变了虚拟化的方 式,使 ...
- Dockerfile创建自定义Docker镜像以及CMD与ENTRYPOINT指令的比较
1.概述 创建Docker镜像的方式有三种 docker commit命令:由容器生成镜像: Dockerfile文件+docker build命令: 从本地文件系统导入:OpenVZ的模板. 关于这 ...
- 自定义docker镜像
1.拉去centos当作基础镜像 2.重要!!!必须使用超级权限启动: docker run --privileged -ti --name latestCenos centos /usr/sbin ...
- Docker镜像的修改和自定义
一.docker镜像的更新 (1)启动镜像,写入一些文件或者更新软件 docker run -it 3afd47092a0e[root@44652ba46352 /]# ls (2)更新镜像 dock ...
- Docker镜像搭建Linux下samba共享目录
Samba 是 SMB/CIFS 网络协议的重新实现, 它作为 NFS 的补充使得在 Linux.OS/2.DOS 和 Windows 系统中进行文件共享.打印机共享更容易实现.SMB协议是客户机/服 ...
- 创建Python数据分析的Docker镜像+Docker自定义镜像commit,Dockerfile方式解析+pull,push,rmi操作
实例解析Docker如何通过commit,Dockerfile两种方式自定义Dcoker镜像,对自定义镜像的pull,push,rmi等常用操作,通过实例创建一个Python数据分析开发环境的Dock ...
- 【Docker学习之四】Docker自定义容器镜像
环境 docker-ce-19.03.1-3.el7.x86_64 centos 7 一.使用已有容器创建镜像-docker commit1.查看本地已有镜像 [root@node105 ~]# do ...
- 『现学现忘』Docker基础 — 35、实战:自定义CentOS镜像
目录 1.前提说明 2.编写Dockerfile文件 3.构建镜像 4.运行镜像 5.列出镜像的变更历史 1)目标:自定义镜像wokong_centos. 2)所用到的保留字指令: FROM:基础镜像 ...
- 『现学现忘』Docker基础 — 39、实战:自定义Tomcat9镜像
目录 1.目标 2.准备 3.编写Dockerfile文件 4.构建镜像 5.启动镜像 6.验证容器是否能够访问 7.向容器中部署WEB项目,同时验证数据卷挂载 (1)准备一个简单的WEB项目 (2) ...
随机推荐
- c++ 读取8, 10, 16进制数
c++基础知识都快忘了..记一下 dec-十进制(默认) oct-八进制 hex-十六进制
- 88 Lowest Common Ancestor of a Binary Tree
原题网址:https://www.lintcode.com/problem/lowest-common-ancestor-of-a-binary-tree/description 描述 给定一棵二叉树 ...
- Jmeter运行原理
Jmeter运行原理: JMETER是运行在JVM虚拟机上的,每个进程的开销比loadrunner的进程开销大,如果以进程的方式来运行每台负载机上的进程数量不会允许太多,当有大量并发时就需要大量的负载 ...
- Java下利用Jackson进行JSON解析和序列化1
Java下常见的Json类库有Gson.JSON-lib和Jackson等,Jackson相对来说比较高效,在项目中主要使用Jackson进行JSON和Java对象转换,下面给出一些Jackson的J ...
- Servlet开发总结(一)
一.Servlet简介 Servlet是sun公司提供的一门用于开发动态web资源的技术. Sun公司在其API中提供了一个servlet接口. 用户若想用发一个动态web资源(即开发一个Java程序 ...
- Luogu P2680 运输计划(二分+树上差分)
P2680 运输计划 题意 题目背景 公元\(2044\)年,人类进入了宇宙纪元. 题目描述 公元\(2044\)年,人类进入了宇宙纪元. \(L\)国有\(n\)个星球,还有\(n-1\)条双向航道 ...
- 查看linux系统的文件inode号码使用情况
:~$ df -i 文件系统 Inode 已用(I) 可用(I) 已用(I)% 挂载点 udev % /dev tmpfs % /run /dev/sda2 % / tmpfs % /dev/shm ...
- redis缓存使用详解
mysql数据库是存在磁盘中的,操作是对于磁盘操作,这样访问量和并发很大时,运行速率就取决于磁盘的容量,带宽的大小和读取的方式,也就是 sql 语句,次数和效率也会影响读取效率.当访问量和并发很大的时 ...
- 在centos 6.3系统下安装java、tomcat环境的方法与步骤(方法经过验证,可安装成功)
一.安装java1. 下载java二进制安装包 wget --no-cookies --no-check-certificate --header "Cookie: gpw_e24=http ...
- 数据库完整性 ch.5
数据库的完整性 是指 数据的正确性(correctness) 和 相容性 (compat-ability) 5.1 实体完整性 定义 对单属性码的说明有两种方法,一种是定义为表约束条件,一种是定义为列 ...