Docker | docker实战(二): 核心概念与安装配置(读书笔记)

第二章 核心概念与安装配置

2.1 核心概念

  Docker 大部分的操作都围绕着它的三大核心概念: 镜像、容器和仓库

2.1.1 Docker 镜像

  • Docker 镜像类似于虚拟机镜像,可以将它理解为一个只读的模板。
  • 镜像是创建 Docker 容器的基础。

2.1.2 Docker 容器

  Docker 容器类似于一个轻量级的沙箱, Docker 利用容器来运行和隔离应用。

2.1.3 Docker 仓库

  Docker 仓库类似于代码仓库,是 Docker 集中存放镜像文件的场所。根据所存储的镜像公开分享与否, Docker 仓库 可以分为**公开仓库(Public)私有仓库(Private)**两种形式。

2.2 安装 Docker 引擎

  Docker 引擎是使用 Docker 容器的核心组件,可以在主流的操作系统和云平台上使用,包括 Linux 操作系统(如 Ubuntu、 Debian, CentOS、 Red.hat 等), macOS 和 Windows 操作系统, 以及 IBM、亚马逊、微软等知名云平台。

2.2.1 Ubuntu 环境下安装 Doeker

  1. 系统要求
      Ubuntu 操作系统对 Docker 的支持十分成熟,可以支持包括 x86_64、 armhf、 s390x (IBM Z)、 ppc64le 等系统架构,只要是 64 位即可。
    Docker 目前支持的最低 Ubuntu 版本为 14.04 LTS ,但实际上从稳定性上考虑,推荐使用 16.04 LTS 或 18.0.4 LTS 版本,并且系统内核越新越好,以支持 Docker 最新的特性。 用户可以通过如下命令检查自己的内核版本详细信息 :
    在这里插入图片描述
      如果使用 Ubuntu 16.04 LTS 版本,为了让 Docker 使用 aufs 存储,推荐安装如下两个 软件包:
    在这里插入图片描述
  2. 添加镜像源
    首先需要安装 apt-transport-https 等软件包支持 https 协议的源:
    在这里插入图片描述
  3. 开始安装 Docker
    在成功添加源之后,就可以安装最新版本的 Docker 了,软件包名称为 docker-ce,代表 是社区版本:
sudo apt-get install -y docker-ce 

  如果系统中存在较旧版本的 Docker,会提示是否先删除,选择是即可。 除了基于手动添加软件源的方式之外,也可以使用官方提供的脚本来自动化安装 Docker:

sudo curl - sSL https: //get .docker.com/ I sh 

  安装成功后,会自动启动 Docker 服务。 用户也可以指定安装软件源中其他版本的 Docker:
在这里插入图片描述

2.2.2 CentOS 环境下安装 Docker

  • Docker 目前支持 CentOS 7 及以后的版本。系统的要求跟 Ubuntu 情况类似,64 位操作系统,内核版本至少为 3.10。
  • 首先,为了方便添加软件源,以及支持 devicemapper 存储类型,安装如下软件包:
sudo yum update 
sudo yum instal l -y yum-utils \
device-mapper-persistent-data \
lvm2
  • 添加 Docker 稳定版本的 yum 软件源:
sudo yum-conf ig-manager \
--add-repo \
https://download.docker.corn/linux/centos/docker-ce.repo 
  • 之后更新 yum 软件源缓存,并安装 Docker:
sudo yum update 
sudo yum install -y docker-ce 
  • 最后,确认 Docker 服务启动正常 :
sudo systernctl start docker 

2.2.3 通过脚本安装

  用户还可以使用官方提供的 shell 脚本来在 Linux 系统(目前支持山untu、 Debian、 Oracleserv町、 Fedora、 Centos、 OpenSuse、 Gentoo 等常见发行版)上安装 Docker 的最新正式 版本,该脚本会自动检测系统信息并进行相应配置:

curl -fsSL https: //get.docker.corn/ | sh 
或者
wget - qo- https://get.docker.corn/ | sh 

  如果想尝鲜最新功能,可以使用下面的脚本来安装最新的“尝鲜”版本。 但要注意,非 稳定版本往往意味着功能还不够稳定,不要在生产环境中使用 :

curl -fsSL https : //test.docker.corn/ | sh

  另外,也可以从 store.docker.com/searchoffering=community&q=&type=edition 找到各个 平台上的 Docker 安装包,自行下载使用。

2.2.4 macOS 环境下安装 Docker

  Docker 官方非常重视其在 Mac 环境下的易用性。
1 . 选择版本
  目前用户可以选择稳定版(Stable)或测试版(Beta),这两个版本都可以通过配置 Docker Daemon 来开启一些实验特性。 配置时,只要启动 Docker daemon 时带上--experime口tal 参数即可。 或者通过修改/etc/docker/daemon .j so口 配置文件中的 experimental 字 段,如下所示:
在这里插入图片描述
  也可以使用如下指令直接确认实验特性是否开启:

docker version -f ’ {{ .Server.Experimental}}
  1. 安装须知
    Docker for Mac 与 Docker Machine 的关系是互不影响。
  2. 下载运行 Docker for Mac
    首先,选择需要的版本并下载。 双击打开 Docker.dmg 文件,将 Docker.app 拖至应用程序(或 Applications)文件夹即可。
    Docker 应用启动后,在任务栏会多出一个小图标,如图 2-3 所示。 用户可以通过这个图标打开 Docker 应用,并进行配置。
    在这里插入图片描述
  3. 验证
    安装成功后,可以确认运行的 Docker 版本信息。 如果用户环境己安装过 Docker 环境,则可能存在老版 docker-py,为了防止冲突,需要重新 安装:
sudo pip uninstall docker py 
sudo pip uninstall docker 
sudo pip install docker 

  此时运行指令已不会提示冲突 :

docker-compose --version 

在这里插入图片描述
  用户还可以执行 docker version 获取更全面的版本信息:

docker version 

在这里插入图片描述
  可见正常输出客户端和服务端版本信息,以及实验特性默认关闭。 如果 Docker for Mac 启动失败或关闭状态,则会出现 Error response from daemon: Bad response from Docker engine 提示。
下面启动一个 Nginx 容器,检查能正确获取镜像并运行

 docker run -d -p 80:80 --口ame webserver nginx

  然后使用 docker ps 指令查看运行的容器:

docker ps

在这里插入图片描述
在这里插入图片描述
5. 常用配置
  点击系统状态栏的 Docker图标可以访问管理菜单, 如图 2-5 所示。
在这里插入图片描述
  About Docker页面呈现已安装的各组件版本信息、更新通道(稳定版或测试版), 以及更新记录 (ReleaseNotes)、声明、版权信息等,如图 2-6 所示。
点击菜单的Preferences项,打开配置管理界面。 其中,General页面可以配置自动启动配置、升级、备份,以及使用数据收集配置, 如图 2-7 所示。
在这里插入图片描述
  在file sharing (文件共享)页面中, 用户可以选择哪个 Mac本地文件夹与容器共享。 点击+后可以继续添加本地目录, 点击Apply&Restart 按钮生效,这里其实使用了 -v参数, 如图 2-8 所示。

  在Disk页面中, 可以配置磁盘路径, 并可以修改虚拟磁盘大小, 如图2-9所示。
在这里插入图片描述
  在Advanced页面中, 可以修改本机分配给Docker的计算资源, 如CPU、 内存和存储位 置, 如图2-10所示。
  在Proxies页面中, 可以配置Pull操作时的代理配置, 如图2-11所示。
在这里插入图片描述
  在Daemon页面中, 用户可用两种方式(基础模式/高级模式即JSON)配置Docker守 护进程, 可以选择自定义镜像、 开启尝鲜模式等, 如图2-12所示。
  点击Reset按钮, 用户可以选择重启Docker、 删除所有Docker数据、 恢复出厂设置、 重装Docker等操作。
在这里插入图片描述
   下载 Kit巳matic app,如图 2-14 所示。
在这里插入图片描述
   进入 Docker Hub 登录页面,用户可以选择暂时不登录,直接进入主页面,如图 2-15 所示。
在这里插入图片描述
  主页面可见多种常用镜像,点击 CREATE 即可直接创建容器,如图 2-16 所示。
在这里插入图片描述
  以 hello-world-nginx 镜像为例。 点击 CREATE 后进入下载页面,如图 2-17 所示。
在这里插入图片描述
  容器运行后,在主页可见运行日志 、 挂载磁盘(双击可以直接打开)、浏览器预览以及容 器配置(S巳忧ings)等,如图 2-18 所示。
在这里插入图片描述
  进入配置页面,可见 hostname、 port,以及卷、 网络等配置, 如图 2-19 所示。 用户此时可以打开浏览器访问 http://localhost:32768,查看示例页面。
在这里插入图片描述

2.2.5 Windows 环境下安装 Docker

  支持系统:win7、win8、win10
  硬件要求:支持虚拟化
   下载地址可见官网文档中心的 Get Docker• Docker CE→Windows

  1. 首先,双击巳xe 文件进行安装,如图 2-20 所示。

在这里插入图片描述
  安装完成后点击 OK 开启 Hyper-V, 如图 2-21 所示。
在这里插入图片描述
  下面查看常用配置。 General 页面可以配置自启策略,是否收集用户信息,是否检查升级等,如图 2-22 所示。
在这里插入图片描述
  Shared Drivers 页面可以选择本地磁盘作为共享存储,相当于设置-v 参数,在容器中可 以使用这些磁盘空间,如图 2-23 所示。

  Advanced 页面可以调整容器使用的本地资源,包括 CPU 和内存,也可以配置镜像和卷 的 VHD 地址,如图 2-24 所示。

  在 Network 页面可进行网络配置包括 vswitch 和 DNS 配置,如图 2-25 所示。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
  若要在 Windows 10 之外的 Windows 上运行 Docker,可以使用 Boot2Docker 工具。 用户可从 https://docs.docker.com/installation/windows/下载使用。

2.3 配置 Docker 服务

  为了避免每次使用 Docker 命令时都需要切换到特权身份,可以将当前用户加入安装中自动创建的 docker 用户组,代码如下:

sudo usermod -aG docker USER_NAME

  用户更新组信息,退出并重新登录后即可生效。

  Docker 服务启动时实际上是调用了 dockerd 命令,支持多种启动参数。 因此,用户可 以直接通过执行 dockerd 命令来启动 Docker 服务,如下面的命令启动 Docker 服务,开启 Debug 模式,并监听在本地的 2376 端口:

dockerd -D -H tcp://127.0.0.1:2376

  这些选项可以写入/etc/docker/路径下的 daemon.json 文件中,由 dockerd 服务启动时读取:
在这里插入图片描述
  当然,操作系统也对 Docker 服务进行了封装,以使用 Upstart 来管理启动服务的 Ubuntu 系统为例, Docker 服务的默认配置文件为 Ietc/ default/ docker,可以通过修改其中的 DOCKER OPTS 来修改服务启动的参数,例如让 Docker 服务开启网络 2375 端口的监昕:

DOCKER_OPTS= " $DOCKER_OPTS -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock” 

  修改之后,通过 service 命令来重启 Docker 服务:

sudo service docker restart 

  对于 CentOS、 RedHat 等系统,服务通过 systemd 来管理,配置文件路径为 /etc/systemd/ system/docker.service.d/docker.conf。 更新配置后需要通过 systemctl 命令来管理 Docker 服务:

sudo systemctl daemon-reload 
sudo systemctl start docker.service 

  此外,如果服务工作不正常,可以通过查看 Docker 服务的日志信息来确定问题,例如 在 RedHat 系统上日志文件可能为 /var/log/messages,在 Ubuntu 或 CentOS 系统上可以执行命 令 journalctl -u docker.service。
  每次重启 Docker 服务后,可以通过查看 Docker 信息( docker info 命令),确保服务已经正常运行。

发布了35 篇原创文章 · 获赞 4 · 访问量 931

猜你喜欢

转载自blog.csdn.net/qq_41980405/article/details/104586704