Docker运维技术基本实践

文章目录

  • Docker技术简介
    • 背景分析
  • Docker 核心对象
    • 镜像(Image)
    • 容器(Container)
  • Docker 应用架构分析
    • 架构图
  • Docker运行机制
  • Docker安装
  • 离线安装Docker系统
  • Docker服务基本操作
    • 查看Docker状态
    • 停止docker服务
    • 注意,启动前在测试时应关闭liunx系统的防火墙
    • 启动docker服务
    • 设置Docker开机自启
    • 禁用Docker开机自启
    • 重新启动Docker服务
    • 查看Docker信息
  • Docker镜像加速

Docker技术简介

背景分析

现阶段的软件技术水平已经真正的进入到了云计算时代,我们的应用现在也正在逐步的部署到云端,部署到云端的服务需要相互隔离,让每个服务都运行在独立的容器中,而 Docker 正是当下最主流的容器化技术。

Docker 核心对象

镜像(Image)

Docker 镜像可以看成是磁盘上特殊的文件系统(https://hub.docker.com/),镜像打包了应用的运行环境以及应用程序,是静态的。可以通过 Docker 启动这个镜像,进而将镜像中的程序在一个容器中启动运行起来。在 Docker 镜像中,操作系统是高度精简的,镜像中的操作系统还不包含内核,容器都是共享所在的宿主机的内核。所以有时会说容器仅包含必要的操作系统(通常只有操作系统文件和文件系统对象),容器中查看到的 Linux 内核版本与宿主机一致。假如现在理解镜像有些抽象,可以暂时先将其理解为一个安装程序。

容器(Container)

Docker容器可以将其理解为一个运行镜像的载体,镜像(Image)和容器(Container)的关系,就像是光盘和光驱。容器基于镜像创建、启动,然后运行镜像的中的文件。容器是轻量级的,它不需要管理程序的额外负担,而是直接在主机的内核中运行。我们常常说使用镜像打包应用程序,使用 Docker 发布、部署应用程序。当你的应用成功在 Docker 上运行时,这个应用就是容器化应用。我们还可以将通过 Docker 启动的容器看成是操作系统中的一个进程。

Docker 应用架构分析

架构图

Docker 是一种Client/Server架构的应用程序,Docker 客户端与Docker 守护进程进行对话,该守护进程完成了构建,运行和分发Docker容器的繁重工作。Docker客户端和守护程序可以 在同一系统上运行,或者您可以将Docker客户端连接到远程Docker守护程序。如图所示(参考docker 官网https://docs.docker.com/get-started/overview/)。

Docker运维技术基本实践_第1张图片

  1. Docker Client是安装完 Docker 之后,直接使用的 docker命令。
  2. Docker Host是我们的docker宿主机(就是安装了docker的操作系统)
  3. Docker Daemon是docker的后台守护进程,侦听并处理Docker客户端命令,管理Docker对象,例如镜像,容器,网络和卷。
  4. Registry是docker拉取镜像的远程仓库,提供大量的镜像供下载,下载完成之后保存在Images(本地镜像仓库)中.
  5. Images 是Docker本地的镜像仓库,可以通过docker images查看镜像文件。

Docker运行机制

docker pull 执行过程:

1)客户端将指令发送给docker daemon
2)docker daemon 先检查本地images中有没有相关的镜像
3)如果本地没有相关的镜像,则向镜像服务器请求,将远程镜像下载到本地

docker run 执行过程:

  1. 检查本地是否存在指定的镜像,不存在就从公有仓库下载
  2. 利用镜像创建并启动一个容器
  3. 分配一个文件系(简版linux系统),并在只读的镜像层外面挂载一层可读写层
  4. 从宿主机配置的网桥接口中桥接一个虚拟接口到容器中去
  5. 从地址池配置一个 ip 地址给容器
  6. 执行用户指定的应用程序

Docker安装

准备工作
第一步:准备CentOS,本次以CentOS7为例进行安装。
第二步:基于vmvare打开CentOS
第三步:克隆CentOS(选择链接克隆-更省空间),命名为CentOS7964-docker(名字随意)
Docker运维技术基本实践_第2张图片
Docker运维技术基本实践_第3张图片
Docker运维技术基本实践_第4张图片
Docker运维技术基本实践_第5张图片
Docker运维技术基本实践_第6张图片
Docker运维技术基本实践_第7张图片
开启虚拟机系统
第一步:启动虚拟机,默认账号密码为root/root
Docker运维技术基本实践_第8张图片
第二步:在系统中右键,打开终端,通过ifconfig指令检查网络,

[root@centos7964 ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.126.129  netmask 255.255.255.0  broadcast 192.168.126.255
        inet6 fe80::20c:29ff:fed5:bd15  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:d5:bd:15  txqueuelen 1000  (Ethernet)
        RX packets 160  bytes 19289 (18.8 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 187  bytes 17007 (16.6 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:c3:96:eb  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

第三步:通过MobaXterm工具链接虚拟机系统
在这里插入图片描述
Docker运维技术基本实践_第9张图片
Docker运维技术基本实践_第10张图片
Docker运维技术基本实践_第11张图片

离线安装Docker系统

按如下步骤自己下载,然后将资源放到一个目录安装
第一步:下载docker离线包

https://download.docker.com/linux/static/stable/x86_64/docker-20.10.6.tgz

也可以从https://download.docker.com/linux/static/stable/网址下载指定版本
第二步:下载离线安装工具

https://github.com/Jrohy/docker-install/

将下载好的这个工具解压。
第三步:将下载好的资源放在一个目录,例如:
在这里插入图片描述
第四步:在linux环境下,创建/root/setup/docker目录,然后拷贝下载好的资源到此目录(可通过MobaXterm工具直接上传到linux目录)
Docker运维技术基本实践_第12张图片
第五步:执行安装操作

# 进入/root/setup/docker 文件夹
cd /root/setup/docker

# 为 install.sh添加执行权限
chmod +x install.sh

# 安装
./install.sh -f docker-20.10.6.tgz

安装成功后,会出现如下信息:

Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
docker 20.10.6 install success!

第六步:安装成功以后,检查安装状态

docker info

Docker运维技术基本实践_第13张图片

Docker服务基本操作

查看Docker状态

查看docker是否启动了,是否是运行状态.

systemctl status docker

停止docker服务

systemctl stop docker

注意,启动前在测试时应关闭liunx系统的防火墙

查看防火墙状态

systemctl status firewalld

关闭防火墙

systemctl disable firewalld

启动docker服务

 systemctl start docker

设置Docker开机自启

systemctl enable docker

禁用Docker开机自启

systemctl disable docker

重新启动Docker服务

 systemctl restart docker

查看Docker信息

docker info

Docker镜像加速

由于国内网络问题,需要配置加速器来加速。修改配置文件 /etc/docker/daemon.json

下面命令直接生成文件 daemon.json

cat <<EOF > /etc/docker/daemon.json
{
  "registry-mirrors": [
    "https://docker.mirrors.ustc.edu.cn",
    "http://hub-mirror.c.163.com"
  ],
  "max-concurrent-downloads": 10,
  "log-driver": "json-file",
  "log-level": "warn",
  "log-opts": {
    "max-size": "10m",
    "max-file": "3"
    },
  "data-root": "/var/lib/docker"
}
EOF

注意:在执行如上指令时,保证你的登录用户为root管理员用户,并且设置好以后重启docker服务.

你可能感兴趣的:(liunx,Docker,docker,运维,linux)