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 ...
随机推荐
- iptables 添加raw提高服务器性能之路
前几天准备把线上一批机器添加iptables.于是梳理出几个需要通外网的端口,80,81等. 防火墙规则如下: #### filter table ########################## ...
- nginx和resin一二三
最近听我们这边的开发讲解了一小下nginx和resin,现在Mark一下,可能不专业,但是对于我来说通俗易懂就好哈哈哈. 首先说服务器,服务器这个东西吧它是干啥的呢,你写的页面只能在你自己的电脑上打开 ...
- vue.js 视频教程
0.1智能社vuejs(1-11章全套) 0.2英文版learing vuejs 0.3Vue.js实战小米阅读开发 0.4走进Vue.js2.0 0.5Vuejs教程45节课 0.6Vue.js+N ...
- JavaSE-类
一.基础概念:计算机语言的发展是接近人的思维方式演变:汇编语言(面向机器).C语言(面向过程).java(面向对象) 二.成员变量和局部变量: 1.全名定义一个类: Package 包名: Class ...
- CSS学习笔记_day2
目录 一. css初识 二. 在HTML里面引入css的几种方式 1. 外部引入式 2.文档内嵌式 3. 行内式(元素内嵌式) 三. 选择器 四.盒模型 五.文档标准流 六.浮动 一. css初识 1 ...
- UML作业第三次:分析《书店图书销售管理系统》
分析图书销售管理系统 一.概览 PlantUML类图语法学习小结 <书店图书销售管理>的类图元素 绘制类图脚本程序 绘制的类图 二.PlantUML类图语法 1.类之间的关系绘制 示例: ...
- Matlab 如何/怎样 读取图片 显示图片 转换成灰度图
% 读取图片 im = imread('路径') >> im = imread('ny.png'); % 显示图片 imshow(im) >> imshow(im) % 转换成 ...
- 统计数字(关联容器map)
题目描述 某次科研调查时得到了n个自然数,每个数均不超过1500000000(1.5*109).已知不相同的数不超过10000个,现在需要统计这些自然数各自出现的次数,并按照自然数从小到大的顺序输出统 ...
- C#服务端Web Api
本教程已经录制视频,欢迎大家观看我在CSDN学院录制的课程:http://edu.csdn.net/lecturer/944
- 用python给邮箱发邮件,问题,以及解决方法。
模版 import smtplib #导入相关模块 from email.mime.text import MIMEText from email.utils import formataddr de ...