docker

1.安装docker

1
2
3
4
5
6
7
8
9
#包管理器在线安装
#首先更新yum包
yum update
#2.安装需要的软件包 yum-util 提供yum-config-manager功能,另外两个是devicmapper驱动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2
# 3 设置yum源
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 4 查看docker版本 验证是否验证成功
docker -v

离线部署docker:

docker-ce-linux-static-stable-x86_64安装包下载_开源镜像站-阿里云

从此链接下载离线部署包

上传到所在的目录

1
2
3
tar -zxvf docker-27.3.1.tgz #解压
mv docker/* /usr/bin/ #解压后的文件移动到usr/bin目录

创建docker.service

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
vim /etc/systemd/system/docker.service
#写入以下内容
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd --selinux-enabled=false -H unix:///var/run/docker.sock
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=1048576
LimitNPROC=65536
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

配置文件结构

.service 文件通常分为三个主要部分:

[Unit]:定义服务的描述、启动顺序和依赖关系。[Service]:定义服务的具体行为,例如启动、停止和重启命令。[Install]:定义服务的安装方式及是否支持开机自启。

[Unit] 部分

Description:服务的简要描述。After:指定服务启动的顺序,例如 After=network.target 表示在网络服务启动后启动。Requires:定义强依赖关系,如果依赖的服务未启动,当前服务也无法启动。Wants:定义弱依赖关系,依赖服务未启动时不会影响当前服务。

[Service] 部分

Type:定义服务的启动类型。 simple:默认值,直接启动主进程。 forking:服务以守护进程方式运行,父进程退出后子进程继续运行。 oneshot:一次性任务,执行后立即退出。 notify:服务启动后向 systemd 发送通知。ExecStart:定义启动服务的命令。ExecStop:定义停止服务的命令。ExecReload:定义重启服务时执行的命令。Restart:定义服务失败时的重启策略,例如 always 表示总是重启。Environment:设置服务的环境变量。

[Install] 部分

WantedBy:定义服务所属的目标组,例如 multi-user.target 表示多用户模式下启动。Alias:为服务提供别名。RequiredBy:定义服务被哪些目标组依赖。

创建daemon.json文件

1
2
3
4
5
6
7
8
9
10
11
## 创建相关文件夹,其中/dcdata/docker 是docker的根目录
mkdir -p /etc/docker && mkdir -p /dcdata/docker

vim /etc/docker/daemon.json

## 输入以上内容
{
"data-root": "/dcdata/docker",
"bip":"172.31.0.1/24"
}

规定docker内部网络ip段,是因为如果不规定,可能会生成与现在内网ip相同的段

授权

1
2
3
chmod 755 /etc/systemd/system/docker.service
chmod 755 /etc/docker/daemon.json

启动

1
2
3
systemctl daemon-reload
systemctl start docker.service
systemctl status docker.service #查看运行情况

离线部署docker-compose

下载较新版本的dockcompose程序

上传到/usr/local/bin目录下

将docker-compose-Linux-x86_64重命名为docker-compose(如果需要)

给这个程序增加运行权限(chmod +x)

2.docker架构

懒得记

镜像(Image):Docker启动容器所需的镜像

容器:镜像是静态的容器是固态的

仓库:保存镜像(dockerhub)

3.熟悉docker

拉取镜像太慢可以配置加速

docker镜像相关命令:

1