ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Docker容器的安装

2022-08-07 12:00:36  阅读:191  来源: 互联网

标签:容器 ce etc 镜像 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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有