docker技术之安装
由于工作原因需要使用docker完成集群的搭建,特此记录一下研究的docker技术。
首先简单的介绍一下docker:
Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,namespace,以及 AUFS 类的 Union FS 等技术,对进程进行封装隔离,属于操作系统层面的虚拟化技术。由于隔离的进程独立于宿主和其它的隔离的进程,因此也称其为容器。
优势:
1. 更高效的利用系统资源——无需额外系统开销
2. 更快速的启动时间——秒级启动时间
3. 一致的运行环境
4. 持续交付和部署
5. 更轻松的迁移
6. 更轻松的维护和扩展——扩展自己docker镜像
对比普通的虚拟机:

安装:
1 windows10
在这里我以Windows10为例进行安装操作,其他系统可以参考这个文档进行安装
1)系统要求:
Docker CE 支持 64 位版本的 Windows 10 Pro,且必须开启 Hyper-V。
2)下载安装:
官方镜像地址下载
正常安装之后显示:

3) 由于国情原因,需要进行镜像加速:
Docker官方和国内很多云服务商都提供了加速器服务,例如:
Docker 官方提供的中国registry mirror
阿里云加速器
DaoCloud 加速器
注册用户并且申请加速器,会获得如 https://jxus37ad.mirror.aliyuncs.com 这样的地址。我们需要将其配置给 Docker 引擎。
在系统右下角托盘图标内右键菜单选择 Settings ,打开配置窗口后左侧导航菜单选择 Docker Daemon ,填写加速器地址。
添加加速器之后,验证是否已经生效:
在命令行中执行docker info ,看到如下命令说明配置成功。
Registry Mirrors:
https://registry.docker-cn.com/
2 windows7
win7系统对应的docker安装包,推荐使用 Docker Toolbox 。
1) 下载Docker Toolbox 安装包
官方下载地址:https://github.com/boot2docker/windows-installer/releases(这个地址国内下载很慢)
国内下载地址:
https://get.daocloud.io/toolbox/ 或者
http://get.daocloud.io/#install-docker-for-mac-windows

2) 安装 Docker Toolbox
下一步, 
安装完成,会出现三个图标

说明:
Oracle VM VirtualBox 图标,通过它可以访问docker服务所在的linux虚拟机;
Docker Quickstart Terminal 图标,通过它可以启动、访问docker服务;
Kitematic (Alpha) 图标,可以下载一些docker镜像
首次点击Docker Quickstart Terminal 图标,会在系统里创建一个默认的,名字叫default的虚拟机。dokcer服务启动成功的界面如下:

VirtualBox,该软件内有 linux 虚拟机,称为docker主机,在 docker 主机中我们之后还会创建 linux 系统,称为容器。 
3) 主机与docker主机共享文件夹
打开Oracle VM VirtualBox,选中“正在运行”状态的 default 虚拟机,进入 设置-> 共享文件夹,添加共享文件夹,选中docker_study文件夹,勾选“自动挂载”、“固定分配”,确定。

设置完成之后,重启虚拟机
4)连接docker主机
docker-machine ssh default
3. linux下的安装
Docker 支持以下的 64 位 CentOS 版本:
- CentOS 7
- CentOS 8
- 更高版本...
设置docker仓库:
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
设置稳定的仓库:
sudo yum-config-manager \
--add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
安装安装最新版本的 Docker Engine-Community 和 containerd
sudo yum install docker-ce docker-ce-cli containerd.io # 如果没有找到的话,可以使用非最新版本
sudo yum install -y --nobest docker-ce docker-ce-cli containerd.io
可以安装指定版本:
yum list docker-ce --showduplicates | sort -r docker-ce.x86_64 :18.09.-.el7 docker-ce-stable
docker-ce.x86_64 :18.09.-.el7 docker-ce-stable
docker-ce.x86_64 18.06..ce-.el7 docker-ce-stable
docker-ce.x86_64 18.06..ce-.el7 docker-ce-stable sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io
设置自启
sudo systemctl start docker sudo systemctl enable docker
镜像加速
可以修改配置来使用阿里云的加速镜像源 sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://pb84l2li.mirror.aliyuncs.com"]
}
EOF sudo systemctl daemon-reload
sudo systemctl restart docker
至此,docker环境及基本配置已经完毕。下一节,我们就来了解一下docker中常用的基本语法与命令操作。
docker技术之安装的更多相关文章
- 基于ASP.Net Core学习Docker技术第一步:在CentOS7安装Docker平台
Docker技术几年前就火了,伴随着今年来devops的流行,这项技术一直被技术社区追捧.提起Docker很容易被默认为是Linux平台下的技术,.NET的技术跟他似乎没有沾边,不过那是对非.NET ...
- Docker 技术系列之安装多版本Mysql5.6和Mysql5.7
大家好,后面的就不是关于MAC专有的内容,基本是跟Java环境,基础技术方面有关.所以这个教程对于在linux系统还是macOS都是通用的,不用担心. 上一篇,我们安装好对应的Docker之后,感受到 ...
- Docker 技术系列之安装Docker Desktop for Mac
终于要进入到Docker技术系列了,感谢大家的持续关注. 为什么要选择Docker?因为Docker 轻巧快速,提供了可行.经济.高效的替代方案.举个例子,安装Nginx,Mysql,Redis等常用 ...
- 利用Docker技术实现UDP广播效果(网络编程python版)
docker的安装见官方文档 我使用的系统为Ubuntu16.04 Ubuntu系统安装docker文档地址:https://docs.docker.com/engine/installation/l ...
- docker学习(1) 安装
docker是啥就不多讲了,简言之就是更轻量.更牛叉的新一代虚拟机技术.下面是安装步骤: 一.mac/windows平台的安装 docker是在linux内核基础上发展而来的,无法直接运行在mac/w ...
- Docker - 技术栈
与传统的方式类似,构建及运行Docker容器与在一台虚拟机上构建和运行程序的方式是相似的,只是使用了一套新的工具以及技术. 与虚拟机不同的是,Docker容器将宿主机与应用程序或者服务隔离,从而提高了 ...
- Docker版本与安装介绍
Docker版本与安装介绍 Docker-CE 和 Docker-EE Centos 上安装 Docker-CE Ubuntu 上安装 Docker-CE Docker-CE和Docker-EE Do ...
- Docker技术知识点总结
Docker技术知识点总结 本文宿主机环境Centos7.4Docker version 18.09.2, build 6247962采用国内 Daocloud 加速器---------------- ...
- Docker详细介绍安装与镜像制作和拉取
一.Docker是什么? 产生背景: 开发和运维之间因为环境不同和导致的矛盾(不同的操作系统.软件环境.应用配置等)DevOps 代码.系统.环境.配置等封装成镜像Image--->运维: 集群 ...
随机推荐
- Linux 小知识翻译 - 「RFC」
这次聊聊「RFC」. 有很多人经常听说「RFC」的吧,上次介绍的NTP是由「RFC1305规定的」,HTTP是由「RFC2616规定的」. RFC是「Request For Comments」的简称, ...
- ID 生成器
using System; using System.Diagnostics; using System.Net; using System.Net.Sockets; using System.Thr ...
- 附2 rabbitmq用户管理、角色管理与权限管理
本文摘自:http://my.oschina.net/hncscwc/blog/262246 1. 用户管理 用户管理包括增加用户,删除用户,查看用户列表,修改用户密码. 相应的命令 (1) 新增一个 ...
- 【Linux常见问题】Centos7的网络配置问题
在配置Centos7网络的时候,可能出出现虚拟机.本地以及外网三者之间ping不通的问题,可以从以下的几个方面排查: 1.确定需要管理员权限才能修改配置网络,如下图: 需要点下更改设置,然后出现下面的 ...
- winfrom之datagridview分页显示
这次datagridview绑定数据并分页操作,因为用到了webservice,所以代码会详细讲解.QueryByCondition是一个查询函数 客户端: PageData pageData=new ...
- C#多线程の遇见长耗时操作以及多任务(简明记要)
4.0用 Task.Factory.StartNew(()=>{});4.0以下用 ThreadPool.QueueUserWorkItem(()=>{})4.0以上用 ...
- oracle等待事件-direct path read/write
转://http://blog.chinaunix.net/uid-23177306-id-2531235.html 一.direct path read1.与直接读取相关联的等待事件.当ORACLE ...
- 江苏省选2019Round1游记
JSOI2019R1过去了. Day0 打板子.看白书. 晚上太热了,楼下还在打铁,睡不着. 折腾到好晚才勉强睡着. Day1 早上好困啊. 开T1.看起来T1的60分很可做的样子?5min打完了(为 ...
- 《HTTP协议:菜鸟入门系列》
很多测试人员在有了一定的测试经验(一般是1-2年)后,就会陷入瓶颈阶段,想提升,但不知道如何提升,学习又没有比较明确的方向,曾经我也是... 那么,我建议系统的学习一下HTTP协议,好处很多:对接口测 ...
- django 接受 ajax 传来的数组对象
django 接受 ajax 传来的数组对象 发送:ajax 通过 POST 方式传来一个数组 接收:django 接受方式 array = request.POST.getlist(‘key[]’) ...