Docker从入门到实践(二)发布时间:2020/6/29 14:51:19 阅读次数:

  

Docker——入门实战(二)

III. 安装Docker

Win10

下载:https://docs.docker.com/docker-for-windows/install/

Docker支持64 位版本的Windows 10 Pro,且必须开启Hyper-V。开启方式为:打开“控制面板”->“程序”-> “启动或关闭Windows功能”,找到Hyper-V并勾选,确定重启电脑。

一.jpg

安装下载好的Docker for Windows Installer.exe,如下:

二.png

鉴于国内网络问题,后续拉取Docker镜像十分缓慢,需要配置国内镜像加速,在系统右下角托盘Docker 图标内右键菜单选择Settings,打开配置窗口后左侧导航菜单选择Daemon,在Registry mirrors 一栏中填写加速器地址

https://registry.docker-cn.com ,之后点击Apply保存后Docker就会重启并应用配置的镜像地址了。

三.png

Ubuntu16.04+

在Ubuntu系统中安装较为简单,官方提供了脚本供我们进行安装。

sudo apt install curl

curl -fsSL get.docker.com -o get-docker.sh

sudo sh get-docker.sh --mirror Aliyun

执行这个命令后,脚本就会自动的将一切准备工作做好,并且把Docker CE 的Edge版本安装在系统中。

 

启动Docker CE

sudo systemctl enable docker

sudo systemctl start docker

建立docker 用户组

默认情况下,docker 命令会使用Unix socket 与Docker 引擎通讯。而只有root 用户和docker 组的用户才可以访问Docker 引擎的Unix socket。出于安全考虑,一般Ubuntu系统上不会直接使用root 用户。因此,更好地做法是将需要使用docker 的用户加入docker用户组。

 

建立docker组

sudo groupadd docker

将当前用户加入docker组

sudo usermod -aG docker $USER

注销当前用户,重新登录Ubuntu,输入docker info,此时可以直接出现信息。

11111111.png

配置国内镜像加速

在/etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)

 

{

    "registry-mirrors": [

        "https://registry.docker-cn.com"

    ]

}

重新启动服务

sudo systemctl daemon-reload

sudo systemctl restart docker

 

IV. Docker的C/S模式

Docker 采用了C/S 架构,包括客户端和服务端。Docker 守护进程(Daemon)作为服务端

接受来自客户端的请求,并处理这些请求(创建、运行、分发容器)。

 

五.png

 

Docker 守护进程一般在宿主主机后台运行,等待接收来自客户端的消息;Docker 客户端则为用户提供一系列可执行命令,用户用这些命令实现跟Docker 守护进程交互。我们之前在Win10的命令行中便是最主要的客户端:

 

六.png

 

Docker也为我们提供了Remote API来操作Docker的守护进程,也意味着我们可以通过自己的程序来控制Docker的运行。客户端和服务端既可以运行在一个机器上,也可通过socket 或者RESTful API 来进行通信:

七.png七.png

 

至于Docker的客户端与守护进程之间的通信,其连接方式为socket连接。主要有三种socket连接方式:

 unix:///var/run/docker.sock

tcp://host:port

fd://socketfd

完整的Docker的C/S连接方式的本质可以一般表示为如下:

 

八.png