一、目的

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学习系列之一——安装篇的更多相关文章

  1. Oracle11g R2学习系列 之一安装篇

    前言 最近想去前同事推荐的一个Oracle相关的岗位竞争一下,由于之前没有使用Oracle的相关经验,所以决定学习一下,就算最终岗位应聘不成,至少也有了一些Oracle经验了,说不定哪天就用上了.再说 ...

  2. Docker学习系列(一):windows下安装docker(转载)

    本文目录如下: windows按照docker的基本要求 具体安装步骤 开始使用 安装远程连接工具连接docker 安装中遇到的问题 Docker的更新 Docker中的jupyter windows ...

  3. Docker 技术系列之安装多版本Mysql5.6和Mysql5.7

    大家好,后面的就不是关于MAC专有的内容,基本是跟Java环境,基础技术方面有关.所以这个教程对于在linux系统还是macOS都是通用的,不用担心. 上一篇,我们安装好对应的Docker之后,感受到 ...

  4. Docker 技术系列之安装Docker Desktop for Mac

    终于要进入到Docker技术系列了,感谢大家的持续关注. 为什么要选择Docker?因为Docker 轻巧快速,提供了可行.经济.高效的替代方案.举个例子,安装Nginx,Mysql,Redis等常用 ...

  5. Intelli IDEA学习系列之快捷键篇

    Intelli IDEA学习系列之快捷键篇 IDEA简介: IDEA 全称IntelliJ IDEA,是java语言开发的集成环境,IntelliJ在业界被公认为最好的java开发工具之一,尤其在智能 ...

  6. OracleDesigner学习笔记1――安装篇

    OracleDesigner学习笔记1――安装篇   QQ:King MSN:qiutianwh@msn.com Email:qqking@gmail.com 一.       前言 Oracle是当 ...

  7. 全网最详细的Git学习系列之安装各个Git图形客户端(Windows、Linux、Mac系统皆适用ing)(图文详解)

    不多说,直接上干货! 目前Git图形客户端 TortoiseGit .SourceTree .GitUp .SmartGit .QGit .GitX .Gitnub.Tower .Git-cola . ...

  8. docker学习笔记1 -- 安装和配置

    技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...

  9. RabbitMQ学习系列一安装RabbitMQ服务

    RabbitMQ学习系列一:windows下安装RabbitMQ服务 http://www.80iter.com/blog/1437026462550244 Rabbit MQ 是建立在强大的Erla ...

随机推荐

  1. iOS TabelViewCell 删除 编辑 插入

    /** TableView 进入或退出编辑状态(TableView 方法). */ - (void)setEditing:(BOOL)editing animated:(BOOL)animate{ / ...

  2. 用matlab画漂亮的sin曲线

    Technorati 标记: matlab,plot 相信大部分用过matlab的人都画过sin曲线,直接plot就可以了,不过呢,plot出来的曲线自然不那么好看,本着绳命在于折腾的原则,小弟学习了 ...

  3. linux学习笔记2 - linux常用命令

    转载请标注原链接:http://www.cnblogs.com/xczyd/p/5543731.html 第一篇博客:linux学习笔记1-ubuntu的安装与基本设置 之中,已经介绍了如何安装lin ...

  4. visual stutio 20017

    Visual Studio 2017入門: https://www.atmarkit.co.jp/ait/articles/1704/10/news026.html vb 手册: http://vb. ...

  5. mysql 中文支持

    show variables like 'character%';  SHOW VARIABLES LIKE 'collation_%'; recommend to use utf8mb4 inste ...

  6. 第五章JavaScript

    创建数组://1.字面量方式创建 (推荐大家使用这种方式创建数组 简单粗暴) var colors = ['red','color','yellow'];console.log(colors) //空 ...

  7. Linux----------samba服务的安装使用及简介

      一.Samba简介 Samba是在linux和Unix系统上实现SMB协议的一个免费软件,由服务器端和客户端程序组成. Samba与nfs的不同,Samba比nfs多支持Windows SMB ( ...

  8. pymongo中的连接操作:Connection()与MongoClient()

    class MongoClient(pymongo.common.BaseObject) Connection to MongoDB. Method resolution order: MongoCl ...

  9. MySQL Error--Got error 28 from storage engine

    问题描述执行查询或SHOW命令,返回错误信息:Got error 28 from storage engine 问题原因临时文件所在磁盘空间已满 解决办法1.使用df -lh查看磁盘空间使用情况;2. ...

  10. Python(三)——文件操作

    在我们用语言的过程中,比如要往文件内进行读写,那么势必要进行文件操作,那么咋操作呢?用眼睛直接看么?今天就定个小目标,把文件读写那些事扯一扯 文件操作 把大象放进冰箱分几步? 第一步:打开冰箱 第二步 ...