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进行访问。
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