linux 二进制安装Docker-ARM 架构

#---------------------------------------------
# --> 二进制安装Docker
# -- aarch64 就是arm 架构CPU
#---------------------------------------------
## 删除原有的docker版本,请谨慎
yum list installed | grep docker
yum -y remove docker*


#-- Docker是使用root用户运行容器的默认设置,这可能会存在安全问题。因此,我们应该学习如何为Docker增加使用的用户,并禁用root用户。


#-- 在操作过程中,我们创建了新的非root用户,并将其添加到docker组中,最后配置了Docker服务以使用该用户。


#-- 这样,我们就成功地增加了Docker的安全性,保护了我们的应用程序和系统资源。


useradd -u 1000 docker
sed -ri 's#docker:x:1000:1000::/home/docker:/bin/bash#docker:x:1000:1000::/usr/local/docker:/sbin/nologin#' /etc/passwd


cat /etc/passwd|grep docker

# 下载地址 https://download.docker.com/linux/static/stable/aarch64/
cd /root && wget https://download.docker.com/linux/static/stable/aarch64/docker-24.0.0.tgz

tar -zxvf docker-24.0.0.tgz && mv docker /usr/local/docker;
cd /usr/local/bin && (for i in `ls /usr/local/docker`;do ln -s /usr/local/docker/$i .;done);
#cd /usr/bin && (for i in `ls /usr/local/docker`;do ln -s /usr/local/docker/$i .;done);

whereis docker
mkdir -p /data/docker_data/docker_root

--------------------------
#创建containerd的service文件,并且启动

cat >/usr/lib/systemd/system/containerd.service <<EOF
[Unit]
Description=containerd container runtime
Documentation=https://containerd.io
After=network.target local-fs.target

[Service]
ExecStartPre=-/sbin/modprobe overlay
ExecStart=/usr/local/bin/containerd
Type=notify
Delegate=yes
KillMode=process
Restart=always
RestartSec=5
LimitNPROC=infinity
LimitCORE=infinity
LimitNOFILE=1048576
TasksMax=infinity
OOMScoreAdjust=-999

[Install]
WantedBy=multi-user.target
EOF
##---------


systemctl daemon-reload;systemctl start  containerd;systemctl enable containerd;systemctl status  containerd

# 添加 systemd管理docker(docker节点)开机自启动

cat > /usr/lib/systemd/system/docker.service << EOF
###########################################
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service containerd.service
Wants=network-online.target
Requires=docker.socket containerd.service

[Service]
Type=notify
EnvironmentFile=-/run/containers/registries.conf
EnvironmentFile=-/etc/sysconfig/docker
EnvironmentFile=-/etc/sysconfig/docker-storage
EnvironmentFile=-/etc/sysconfig/docker-network
Environment=GOTRACEBACK=crash
Environment=DOCKER_HTTP_HOST_COMPAT=1
Environment=PATH=/usr/libexec/docker:/usr/bin:/usr/sbin:/usr/local/bin
ExecStart=/usr/local/bin/dockerd --group=docker --data-root=/opt/docker_root -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
TimeoutSec=0
RestartSec=2
Restart=always

# Note that StartLimit* options were moved from "Service" to "Unit" in systemd 229.
# Both the old, and new location are accepted by systemd 229 and up, so using the old location
# to make them work for either version of systemd.
StartLimitBurst=3

# Note that StartLimitInterval was renamed to StartLimitIntervalSec in systemd 230.
# Both the old, and new name are accepted by systemd 230 and up, so using the old name to make
# this option work for either version of systemd.
StartLimitInterval=60s

# Having non-zero Limit*s causes performance problems due to accounting overhead
# in the kernel. We recommend using cgroups to do container-local accounting.
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity

# Comment TasksMax if your systemd version does not support it.
# Only systemd 226 and above support this option.
TasksMax=infinity

# set delegate yes so that systemd does not reset the cgroups of docker containers
Delegate=yes

# kill only the docker process, not all processes in the cgroup
KillMode=process
OOMScoreAdjust=-500

[Install]
WantedBy=multi-user.target
EOF


##------------------------------
## 准备docker的socket文件
cat > /usr/lib/systemd/system/docker.socket <<EOF
[Unit]
Description=Docker Socket for the API
PartOf=docker.service

[Socket]
ListenStream=/var/run/docker.sock
SocketMode=0660
SocketUser=root
SocketGroup=docker

[Install]
WantedBy=sockets.target
EOF
-----------------------------------
systemctl daemon-reload;systemctl start  docker.socket;systemctl enable docker.socket;systemctl status  docker.socket

## 创建配置文件(docker节点)
#"graph": "/data/docker_data/docker_root",

mkdir /etc/docker;
cat > /etc/docker/daemon.json << EOF
{
  "registry-mirrors": ["https://mirror.aliyuncs.com"],
  "insecure-registries": ["10.16.13.104:8443"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "storage-driver": "overlay2",
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m",
    "max-file":"10"
  }
}
EOF

##------------------------------
systemctl daemon-reload;
systemctl start docker;
systemctl enable docker;
systemctl status docker;
docker version;
docker info|grep 'Docker Root Dir';
docker info | grep -i cgroup;

## 2021年5月31日,阿里云应急响应中心监测到国外安全研究人员披露 CVE-2021-30465 runc 符号链接挂载与容器逃逸漏洞。
## --修复

https://github.com/opencontainers/runc/releases/download/v1.1.0/runc.amd64

ARM架构二进制docker-compose下载地址:

https://github.com/docker/compose/releases/download/v2.18.0/docker-compose-linux-aarch64

  • 19
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: docker-compose-linux-arm64-1.25.0.tgz是一个Docker Compose工具的压缩,适用于基于ARM64架构Linux系统。Docker Compose是一个用于定义和运行多个Docker容器的工具,通过编写一个docker-compose.yml文件来描述容器之间的关联性和依赖性。 这个压缩可以在ARM64架构Linux系统上使用,例如树莓派等。它含了Docker Compose工具的二进制文件,可以通过解压缩这个压缩来获取这些文件。解压后,你可以将这些文件复制到你的系统路径下,以便在终端中直接使用docker-compose命令。 使用Docker Compose可以简化多个容器的管理和部署。你可以在docker-compose.yml文件中指定要运行的容器的名称、映像、端口号等配置信息。然后,只需一条命令就可以启动、停止或重启这些容器,系统会自动处理容器之间的关联性和依赖性。 通过使用Docker Compose,你可以更轻松地创建复杂的应用架构,同时可以提高开发和部署的效率。此外,Docker Compose还支持扩展和自定义,你可以根据自己的需求编写扩展工具和插件。 总之,docker-compose-linux-arm64-1.25.0.tgz是Docker Compose工具的ARM64架构Linux系统的压缩。它可以帮助你管理和部署多个Docker容器,简化应用的开发和部署过程。 ### 回答2: docker-compose-linux-arm64-1.25.0.tgz 是一个在Linux ARM64 平台上使用的Docker Compose 工具的压缩Docker Compose 是一个用于定义和管理多个Docker容器的工具,它可以通过一个单一的命令来启动、停止和管理多个容器的运行。 Linux ARM64 是一种基于ARM体系结构的操作系统平台,适用于64位的ARM处理器。因此,docker-compose-linux-arm64-1.25.0.tgz 文件是专门为在Linux ARM64平台上使用而设计的。 通过安装这个压缩,你可以在Linux ARM64平台上使用最新版本的Docker Compose,以便更方便地管理多个Docker容器。你可以在命令行中使用适当的命令来启动、停止或重启容器组,并且还可以定义多个容器之间的依赖关系和网络连接。 安装过程通常括下载t gz 文件,解压文件,并将其放置到系统的适当位置。然后,你可以使用docker-compose命令来管理你的Docker容器组。 总之,docker-compose-linux-arm64-1.25.0.tgz 是一个适用于Linux ARM64平台的Docker Compose工具的压缩安装它可以让你更方便地管理多个Docker容器,并在64位ARM处理器上实现更高的性能和效率。 ### 回答3: docker-compose-linux-arm64-1.25.0.tgz是Docker Compose的一个特定版本的软件,专门用于在基于ARM64架构Linux操作系统上运行。 Docker Compose是一个开源工具,用于简化Docker容器的部署和管理。它允许用户使用一个简单的YAML文件定义多个容器,并通过一个命令进行启动、停止和管理这些容器。它可以提供容器之间的互联、端口映射、卷挂载等功能。 对于ARM64架构Linux操作系统,如树莓派等单板计算机,docker-compose-linux-arm64-1.25.0.tgz为用户提供了在这些设备上运行Docker Compose的能力。它是针对ARM64架构编译的专门版本,以确保在这些设备上能够正确运行。 要使用docker-compose-linux-arm64-1.25.0.tgz,首先需要将软件下载到ARM64架构Linux设备上。然后,解压软件,并将其中的可执行文件放置到一个可执行文件路径下,以便可以通过命令行调用。可以使用tar命令来解压.tgz文件。 一旦安装完成,就可以使用docker-compose命令来管理和部署Docker容器了。通过创建一个YAML文件,定义容器的配置和相关设置,然后在命令行中运行docker-compose up命令,即可启动所定义的容器。使用其他命令如docker-compose stop、docker-compose down等可以停止和删除容器。 总之,docker-compose-linux-arm64-1.25.0.tgz提供了在ARM64架构Linux操作系统上运行Docker Compose的能力,使用户能够更方便地管理和部署容器。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值