Docker学习系列之一——安装篇
一、目的
Docker是目前非常流行的虚拟技术,在云计算领域得到了广泛的应用。国内的阿里、京东等大厂都非常普遍地应用了Docker。本文记录了Docker的基本安装过程及最终运行结果,以期备忘,及和同行们交流之用。
二、操作流程
有2台虚拟机,分别安装Centos 7.6,一台Docker宿主机,IP为:192.168.221.129,另一台为Docker应用主机,IP为:192.168.221.130。本文安装过程及结果为:两台机器都安装Docker,其中,宿主机器安装私有仓库,在Docker公有仓库中下载hello-world镜像,打标签后,将镜像文件上传到私有库。在Docker应用主机中,下载宿主机器上的hello-world镜像,运行并查看结果。操作流程图为:

三、操作过程:
1.两台虚拟机都安装Docker,使用命令为:
yum install docker-ce
安装完成后,关闭防火墙,并设置不随机启动以期达到通过端口通讯的目的。相关命令为:
systemctl status firewalld
systemctl stop firewalld
systemctl disable firewalld
之后,启动Docker并设置随机启动
systemctl enable docker.service
systemctl start docker.service
以上为基本操作,以下进入正题。
首先,从Docker公有库中,拉取仓库镜像,使用命令为:
docker pull registry

拉取完成后,查看下本机的镜像:
docker images

确认无误后,创建本机私有仓库的对应目录,用于存储仓库内的镜像。
mkdir -p /opt/data/registry //创建仓库所在的文件目录
docker run -d -p : -v /opt/data/registry:/var/lib/registry
--name private_registry registry

运行docker ps查看容器是否启动成功:

然后,根据本机ip地址及配置文件路径,打开docker配置文件(配置文件位置,通过systemctl status docker命令查看),在配置文件中的ExecStart行添加配置:
--insecure-registry=192.168.221.129:
然后运行命令:
systemctl daemon-reload
systemctl restart docker
docker start private_registry
重新加载配置文件,并启动Docker。
四、测试私有仓库
1.从公有仓库拉取hello-world镜像,并检查拉取结果

2.打标签:
docker tag hello-world 192.168.221.129:/myhello
3.推入私有仓库:

注意,此时一定要确保私有仓库启动,如果没有启动,则会报错(无法链接),需要使用以下命令来启动,
docker start private_registry

4.在Docker应用机器上,使用命令拉取hello-world镜像:
docker pull 192.168.221.129:/myhello

5.运行hello-world镜像,查看运行结果:

五、遗留问题
1.Docker结构及配置需要详细研究
2.在从私有库下载镜像时能否通过简称下载?
3.更新私有库镜像后,应用机如何自动获取镜像更新?
4.实战化操练:实际运行一个java或者其他web应用以便发现更多问题
本文结束。
Docker学习系列之一——安装篇的更多相关文章
- Oracle11g R2学习系列 之一安装篇
前言 最近想去前同事推荐的一个Oracle相关的岗位竞争一下,由于之前没有使用Oracle的相关经验,所以决定学习一下,就算最终岗位应聘不成,至少也有了一些Oracle经验了,说不定哪天就用上了.再说 ...
- Docker学习系列(一):windows下安装docker(转载)
本文目录如下: windows按照docker的基本要求 具体安装步骤 开始使用 安装远程连接工具连接docker 安装中遇到的问题 Docker的更新 Docker中的jupyter windows ...
- Docker 技术系列之安装多版本Mysql5.6和Mysql5.7
大家好,后面的就不是关于MAC专有的内容,基本是跟Java环境,基础技术方面有关.所以这个教程对于在linux系统还是macOS都是通用的,不用担心. 上一篇,我们安装好对应的Docker之后,感受到 ...
- Docker 技术系列之安装Docker Desktop for Mac
终于要进入到Docker技术系列了,感谢大家的持续关注. 为什么要选择Docker?因为Docker 轻巧快速,提供了可行.经济.高效的替代方案.举个例子,安装Nginx,Mysql,Redis等常用 ...
- Intelli IDEA学习系列之快捷键篇
Intelli IDEA学习系列之快捷键篇 IDEA简介: IDEA 全称IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能 ...
- OracleDesigner学习笔记1――安装篇
OracleDesigner学习笔记1――安装篇 QQ:King MSN:qiutianwh@msn.com Email:qqking@gmail.com 一. 前言 Oracle是当 ...
- 全网最详细的Git学习系列之安装各个Git图形客户端(Windows、Linux、Mac系统皆适用ing)(图文详解)
不多说,直接上干货! 目前Git图形客户端 TortoiseGit .SourceTree .GitUp .SmartGit .QGit .GitX .Gitnub.Tower .Git-cola . ...
- docker学习笔记1 -- 安装和配置
技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...
- RabbitMQ学习系列一安装RabbitMQ服务
RabbitMQ学习系列一:windows下安装RabbitMQ服务 http://www.80iter.com/blog/1437026462550244 Rabbit MQ 是建立在强大的Erla ...
随机推荐
- JAVA005-基本数据类型变量的存储
1.变量按类型分: 数据类型分为基本数据类型和引用数据类型 引用数据类型包括数组和类等 类定义的变量又叫对象 2.按照作用范围分为: 类级别.对象实例级.方法级.块级 方法级:局部变量 3.字符型的字 ...
- 关于indexof和substring经常记不住的点
indexof 找到的字符位置是 字符串从0位开始算起的. lastIndexOf也一样,http://localhost:8080/aaa,的lastIndexOf("/")是2 ...
- C# Main函数中调用异步方法的2种实现
As you discovered, in VS11 the compiler will disallow an async Main method. This was allowed (but ne ...
- 大数据学习-2 认识Hadoop
一.什么是Hadoop? Hadoop可以简单的理解为一个数据存储和数据分析分布式系统.随着互联网的普及产生的数据是非常的庞大的,那么我们怎么去处理这么大量的数据呢?传统的单一计算机肯定是完成不了的, ...
- JDK1.8环境下依然报错 Unsupported major.minor version 52.0
JDK1.8环境下依然报错 Unsupported major.minor version 52.0 在配置elasticsearch-rtf全文搜索引擎时,按照Github上项目readme.md来 ...
- MySQL查询操作——2
-----------查询操作--------------------------- 查询表中的所有字段SELECT * FROM employees; 查询常量值SELECT 100;SELECT ...
- Python:从入门到实践--第四章--列表操作--练习
#1.想出至少三种你喜欢的水果,将其名称存储在一个列表中,再使用for循环将每种水果的名称都打印出来. #要求:(1)修改这个for循环,使其打印包含名称的句子,而不是仅仅是水果的名称.对于每种水果, ...
- Java基础语法入门
一.Java运行原理 写好java代码,执行javac命令,通过jvm把.java源文件编译成.class文件,执行java命令把字节码文件编译成特定平台能识别的机器码 二.标识符 1.标识符是用于数 ...
- 手机游戏引擎 Cocos
Cocos是全球最受欢迎的移动游戏开发解决方案,整合了Cocos 2d-x.Cocos 2d-js.Cocos Studio.Cocos Code IDE等框架及工具,无论您是开发新手还是行业资深人士 ...
- 使用iSCSI服务部署网络存储