阿里云龙蜥服务器安装docker过程记录
龙蜥安装docker过程记录
1. 去官网下载docker离线安装包
在/home文件夹下执行
本次以19.03.9版本来测试
wget https://download.docker.com/linux/static/stable/aarch64/docker-19.03.9.tgz
🍧注意:没有wget
的话可使用 yum install wget
先进行安装。在线下载慢的话可在本地先下载好上传至云服务器。
2. 解压离线安装包
在/home文件夹下解压压缩包
tar -zxvf docker-19.03.9.tgz
3. 解压的docker文件夹全部移至/usr/bin目录
cp -p docker/* /usr/bin/
4. 将docker注册为系统服务
在/usr/lib/systemd/system/
目录下,创建docker.service
文件
touch /usr/lib/systemd/system/docker.service
编辑docker.service
文件,添加以下内容:
[Unit]
Description=Docker Application Container Engine
Documentation=http://docs.docker.com
After=network.target docker.socket
[Service]
Type=notify
EnvironmentFile=-/run/flannel/docker
WorkingDirectory=/usr/local/bin
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:4243 -H unix:///var/run/docker.sock --selinux-enabled=false --log-opt max-size=1g
ExecReload=/bin/kill -s HUP $MAINPID
# 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
# Uncomment TasksMax if your systemd version supports it.
# Only systemd 226 and above support this version.
#TasksMax=infinity
TimeoutStartSec=0
# 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
Restart=on-failure
[Install]
WantedBy=multi-user.target
5. 启动docker
重载unit配置文件并启动docker
systemctl daemon-reload
systemctl start docker
设置开机自启动
systemctl enable docker
6. 查看docker安装状态
查看docker状态
systemctl status docker
查看docker系统信息
docker info
查看docker版本
docker -v
7. 配置加速
这里额外添加了docker的生产环境核心配置cgroup
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://82m9ar63.mirror.aliyuncs.com","http://hub-mirror.c.163.com"],
"experimental": true
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
8. 拉取镜像测试
🍭注意拉取时最好指定平台版本为arm架构
docker pull --platform linux/arm64/v8 redis:5.0.14
9. 镜像的导入导出
9.1. 导出
先拉取一个redis镜像作为测试
docker pull --platform linux/arm64/v8 redis:5.0.14
下面将该镜像打成一个tar包的形式导出
❗❗❗注意此处经过测试,无论镜像是什么架构版本的,导出tar包所支持的版本仅和服务器CPU架构有关,不同架构服务器的docker导入导出不能互通!
9.2. 导入
本次导入以导出的redis镜像为例
docker load -i redis-test.tar