This commit is contained in:
colben 2021-11-18 21:56:26 +08:00
parent fc619c011e
commit 93ed650b92

View File

@ -40,7 +40,8 @@ categories: ["container"]
systemctl start docker
```
### 常用的 linux with systemd 安装 docker
### Linux with systemd 安装 docker
- 下面是在运行 Rocky linux 8.4 的 X86 服务器上的操作过程
- 下载 docker 二进制文件
```bsah
curl -LO https://download.docker.com/linux/static/stable/x86_64/docker-20.10.10.tgz
@ -193,6 +194,125 @@ categories: ["container"]
systemctl start docker
```
### Linux with openrc 安装 docker
- 下面是在运行 Alpine Linux 3.14.2 的树莓派 4B 上的操作过程
- 下载 docker 二进制文件
```bsah
curl -LO https://download.docker.com/linux/static/stable/aarch64/docker-20.10.10.tgz
```
- 安装
```bash
tar zxf docker-20.10.10.tgz
mv docker/* /usr/bin/
rm -rf docker/ docker-20.10.10.tgz
groupadd -g 10110 docker
```
- 创建 containerd 启动脚本 /etc/init.d/containerd
```bash
#!/sbin/openrc-run
supervisor=supervise-daemon
name="Container Daemon"
description="Standalone containerd (usually started by Docker)"
extra_started_commands="reload"
description_reload="Reload configuration without exiting"
command="${containerd_command:-/usr/bin/containerd}"
command_args="${containerd_opts}"
rc_ulimit="${ulimit_opts:--c unlimited -n 1048576 -u unlimited}"
retry="${signal_retry:-TERM/60/KILL/10}"
log_file="${log_file:-/var/log/${RC_SVCNAME}.log}"
err_file="${err_file:-${log_file}}"
log_mode="${log_mode:-0644}"
log_owner="${log_owner:-root:root}"
supervise_daemon_args="${supervise_daemon_opts:---stderr \"${err_file}\" --stdout \"${log_file}\"}"
depend() {
need sysfs cgroups
}
start_pre() {
checkpath -f -m "$log_mode" -o "$log_owner" "$log_file" "$err_file"
}
reload() {
ebegin "Reloading configuration"
$supervisor $RC_SVCNAME --signal HUP
eend $?
}
```
- 创建 docker 启动脚本 /etc/init.d/docker
```bash
#!/sbin/openrc-run
supervisor=supervise-daemon
name="Docker Daemon"
description="Persistent process that manages docker containers"
description_reload="Reload configuration without exiting"
command="${DOCKERD_BINARY:-/usr/bin/dockerd}"
command_args="${DOCKER_OPTS}"
DOCKER_LOGFILE="${DOCKER_LOGFILE:-/var/log/${RC_SVCNAME}.log}"
DOCKER_ERRFILE="${DOCKER_ERRFILE:-${DOCKER_LOGFILE}}"
DOCKER_OUTFILE="${DOCKER_OUTFILE:-${DOCKER_LOGFILE}}"
supervise_daemon_args="--stderr \"${DOCKER_ERRFILE}\" --stdout \"${DOCKER_OUTFILE}\""
extra_started_commands="reload"
rc_ulimit="${DOCKER_ULIMIT:--c unlimited -n 1048576 -u unlimited}"
retry="${DOCKER_RETRY:-TERM/60/KILL/10}"
depend() {
need sysfs cgroups
after iptables ip6tables
}
start_pre() {
checkpath -f -m 0644 -o root:docker "$DOCKER_ERRFILE" "$DOCKER_OUTFILE"
}
reload() {
ebegin "Reloading configuration"
$supervisor $RC_SVCNAME --signal HUP
eend $?
}
```
- 启动脚本增加可执行权限
```bash
chmod 0755 /etc/init.d/{containerd,docker}
```
- 修改 docker 配置文件,建议选择一个与本地网络不冲突的网段
```bash
mkdir -p /etc/docker
cat > /etc/docker/daemon.json <<-EOF
{
"insecure-registries": ["harbor.colben.cn"],
"default-address-pools" : [{"base":"10.110.0.0/16", "size": 24}],
"log-driver": "json-file",
"log-opts": {"max-size":"100m", "max-file":"4"}
}
EOF
```
- 启动 docker
```bash
service docker start
```
- 设置 docker 开机自动启动
```bash
rc-update add docker
```
## 安装 docker-compose
- 下载 docker-compose
```bash