其他分享
首页 > 其他分享> > Docker容器的安装

Docker容器的安装

作者:互联网

Docker容器的安装

Docker引擎

docker引擎Docker Engine是C/S架构,主要有以下部件组成:

(1)服务器(Docker daemon)

​ 后台运行的Docker daemon进程。Daemon进程用于管理Docker对象,包括镜像(images),容器(containers)网络(networs)数据卷(data volumes)。

(2)REST接口:同daemon交互的REST API接口

(3)客户端(Docker client):命令行(CLI)交互客户端。客户端使用REST API接口同Docker daemon进行访问。

uTools_1659712240500

Docker平台组成

一个完整的Docker服务包括Docker Daemon服务器,Docker Client客户端,Docker Image镜像,Docker Registry库和Docker Controller容器。

(1)Docker镜像

​ Docker镜像是一个只读模板,用于创建Docker容器由Docker file文本描述镜像的内容。构建一个镜像实际就是安装,配置和运行的过程。Docker镜像是基于UnisonFS把以上过程进行分层

(Layer)存储,这样更新镜像可以只更新变化的层。Docker的描述文件为Dockerfile,Docker file只是一个文本文件,基本指令包括:

①FROM:定义基础镜像。

②MAINTAINER(maintainer):作者或维护者。

③RUN:运行Linux命令。

④ADD:增加文件或目录。

⑤EVN:定义环境变量。

⑥CMD:运行进程。

(2)Docker 容器

​ Docker容器是一个镜像的运行实例。容器有镜像创建,运行过程。

例如:运行Ubuntu操作系统镜像,-i前台交互模型,运行命令为/bin/bash

#docker run -i -t ubuntu /bin/bash

运行过程如下:

​ ①拉取(pull)镜像,Docker Engine检查Ubuntu镜像是否存在,如果本地已经存在,使用该镜像创建容器;如果不存在,Docker Engine从镜像库拉镜像。

​ ②使用该镜像创建新容器

​ ③分配文件系统,挂载一个读写层,在读写层加载镜像。

​ ④分配网络/网桥接口,创建一个网络接口,让容器和主机通信。

​ ⑤从可用的IP池选择IP地址,分配给容器。

​ ⑥执行命令/bin/bash。

​ ⑦捕获和提供执行结果。

(3)Docker仓库

​ Docker仓库Docker镜像库。Docker Registry也是一个容器。Docker Hub是Docker公司提供的互联网公共镜像仓库。也可以构建自己本地的镜像仓库,国内有些公司也构建了镜像仓库。后面说明。

在Centos操作系统中安装Docker

Docker最低支持 Centos7;内核不低于3.10(可升级内核:# yum upgrade ),查看内核:#uname -a

①配置本地 网络 源。

# curl -o /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo
# curl -o /etc/yum.repos.d/docker-ce.repo https://download.docker.com/linux/centos/docker-ce.repo

②防火墙规则配置,清除所有防火墙规则。

# iptables -F;iptables -X;iptables -Z;iptables-save

③配置 SELinux

# sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

④关闭 Swap 交换分区

# swapoff -a
# sed -i "s/\/dev\/mapper\/centos-swap/\#\/dev\/mapper\/centos-swap/g" 
/etc/fstab

查看 Swap 交换分区有多种方式,使用 free -m、top、df -h、fdisk –l 等命令都可以,如

⑤添加内核参数,配置转发路由

编辑配置文件/etc/sysctl.conf,添加以下内容

# cat >> /etc/sysctl.conf << EOF
net.ipv4.ip_forward=1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF

重新加载 sysctl.conf

# modprobe br_netfilter
# sysctl -p
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1

⑥配置镜像加速器

CentOS的配置方式略微复杂,需要先将默认的配置文件(/lib/systemd/system/docker.service)复制到/etc/systemd/system/docker.service。然后再将加速器地址添加到配置文件的启动命令中,之后重启Docker即可。

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://f31ey6gi.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker          

⑦安装 docker-ce

安装依赖包

# yum install -y yum-utils device-mapper-persistent-data

此处安装指定的 Docker 版本

# yum list docker-ce --showduplicates | sort -r
...
docker-ce.x86_64            3:18.09.5-3.el7                    docker-ce-stable 
docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable 
...
# yum install docker-ce-18.09.6 docker-ce-cli-18.09.6 containerd.io -y

启动Docker

# systemctl daemon-reload 
# systemctl restart docker
# systemctl enable docke
# docker info 
...

标签:容器,ce,etc,镜像,Docker,安装,docker
来源: https://www.cnblogs.com/dagu666/p/16558785.html