本文使用Ubuntu 22.04 LTS环境
以下操作皆是在root权限下进行
Docker安装
离线包下载
使用华为云镜像下载docker安装包
下载地址 https://mirrors.huaweicloud.com/docker-ce/linux/static/stable/x86_64/docker-26.1.4.tgz
如选用其他版本,可在此处查看下载 https://mirrors.huaweicloud.com/docker-ce/linux/static/stable/x86_64/
上传离线安装包至服务器
使用工具将文件传输至服务器后
切换至root权限
sudo -i
解压
tar -zxvf docker-26.1.4.tgz
授权
chmod -R 777 docker
复制
将docker复制到 /usr/bin/
cp docker/* /usr/bin/
查看版本号
docker -v
如正常显示
docker设置自启动
手动创建docker.service文件
1.创建docker.service文件(将docker注册为service)。
在/etc/systemd/system/目录下创建docker.service文件。命令如下:
sudo vim /etc/systemd/system/docker.service
2.编辑 docker.service文件。
将下列配置命令加到docker.service中并保存。命令如下:
[Unit]Description=Docker Application Container EngineDocumentation=https://docs.docker.comAfter=network-online.target firewalld.serviceWants=network-online.target[Service]Type=notifyExecStart=/usr/bin/dockerdExecReload=/bin/kill -s HUP $MAINPIDLimitNOFILE=infinityLimitNPROC=infinityLimitCORE=infinityTimeoutStartSec=0Delegate=yesKillMode=processRestart=on-failureStartLimitBurst=3StartLimitInterval=60s[Install]WantedBy=multi-user.target
保存并退出:按下Esc键,输入:wq,保存并退出。
3.添加文件权限并启动docker
sudo chmod +x /etc/systemd/system/docker.service
4.重载unit配置文件
每次有修改docker.service文件时,都要重新加载systemd配置。
sudo systemctl daemon-reload
5.设置开机自启Docker服务
sudo systemctl enable docker.service
7.启动Docker
sudo systemctl start docker
docker-compose安装
下载离线包,下载地址:https://github.com/docker/compose/releases
网址画面如下,找到tags模块,然后点击进入2.27.1(Release v2.27.1 · docker/compose (github.com) ),
下拉 Assets 清单,点选 docker-compose-Linux-x86_64 下载
文件名:docker-compose-Linux-x86_64
将下载好的离线包拖拽到服务器上
将 docker-compose 移至 /usr/local/bin 目录下
sudo mv docker-compose-Linux-x86_64 /usr/local/bin
切换当前目录至 /usr/local/bin
cd /usr/local/bin
将 docker-compose-Linux-x86_64 重新命名为 docker-compose
sudo mv docker-compose-Linux-x86_64 docker-compose
设定 docker-compose 的执行权限
sudo chmod +x docker-compose
查询 docker-compose 版本以确认是否成功安装
docker-compose -v
扩展:修改docker镜像存储位置
一般来说,离线安装的docker会存在/etc/docker文件夹不存在情况,
先将文件夹创建好
mkdir /etc/docker
将docker拷贝至指定位置并指定配置
我将/home/data设置为存储位置
cp -r /var/lib/docker /home/data && sudo tee /etc/docker/daemon.json <<-'EOF'{ "data-root": "/home/data/docker"}EOF
执行 systemctl restart docker
输入docker info 可以看到docker 目录已经更改