docker及docker-compose的安装与使用

ubuntu下docker的安装

安装docker所需要的docker源和依赖等

sudo apt update
sudo apt install apt-transport-https ca-certificates curl gnupg-agent software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

安装最新版

sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y

安装指定版本

sudo apt update
apt list -a docker-ce

安装nvidia runtime/可选

curl -s -L https://nvidia.github.io/nvidia-container-runtime/gpgkey | sudo apt-key add -
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-container-runtime/$distribution/nvidia-container-runtime.list | sudo tee /etc/apt/sources.list.d/nvidia-container-runtime.list
​
sudo apt-get update
sudo apt-get install nvidia-container-runtime

配置docker

vim /etc/docker/daemon.json
{
  "default-runtime": "nvidia",
    "runtimes": {
        "nvidia": {
            "path": "nvidia-container-runtime",
            "runtimeArgs": []
        }
    },
    "registry-mirrors": [
            "https://yp5fg15q.mirror.aliyuncs.com",
            "https://docker.mirrors.sjtug.sjtu.edu.cn",
	        "https://docker.1panel.live/",
            "https://registry.docker-cn.com",
            "https://docker.mirrors.ustc.edu.cn",
            "https://hub-mirror.c.163.com",
            "https://mirror.baidubce.com",
            "https://ccr.ccs.tencentyun.com"

    ],
    "data-root": "/var/lib/docker"
}
systemctl daemon-reload
systemctl restart docker

验证nvidia-smi runtime是否安装成功

docker pull ubuntu
docker run -it --rm --gpus all ubuntu nvidia-smi

若不安装nvidia runtime则保持默认或者配置镜像源和data-root即可

ps:若需要将docker内的文件映射到宿主机上,可以将data-root设置为存储空间较大的盘

centos下docker的安装

添加指定的docker源

yum install yum-utils -y
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装最新版本

yum install docker-ce -y

安装指定版本

yum list docker-ce --showduplicates | tail -n 10
sudo yum install docker-ce-24.0.5-1.el7

docker-compose部署与使用

部署:不建议使用二进制包部署,可能会因二进制包下载不全导致报错

在github上下载对应的linux发行版【docker-compose-linux-x86_64】

https://github.com/docker/compose/releases/tag/v2.18.1

image-20230830145920944

非root用户

mv docker-compose-linux-x86_64 docker-compose
mkdir ~/docker && mv docker-compose ~/docker
cd ~/docker
chmod +x docker-compose

查看docker-compose版本

~/docker/docker-compose --version

部署

~/docker/docker-compose up -d

root用户

将下载的文件移动到/usr/local/bin目录下进行重命名并添加可执行权限以及创建软链接

sudo mv docker-compose-linux-x86_64 /usr/local/bin
sudo mv docker-compose-linux-x86_64 docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

查看docker-compose版本

docker-compose --version

编写docker-compose文件或者下载所部署应用的docker-compose文件

docker-compose.yml格式——以alist网盘的docker-compose.yml配置文件为例

version: '3.3'
services:
    alist:
        restart: always
        volumes:
            - '/etc/alist:/opt/alist/data'
        ports:
            - '5244:5244'
        environment:
            - PUID=0
            - PGID=0
            - UMASK=022
        container_name: alist
        image: 'xhofe/alist:latest'

部署

docker-compose -f /path/file.yml up -d

若所部署的docker-compose文件名为:docker-compose.yml则只需在文件同目录下执行

docker-compose up -d

报错:

执行docker-compose up -d时出现ERROR: Failed to Setup IP tables: Unable to enable SKIP DNAT rule

解决方案:重启docker

service docker restart


文章作者: ikko
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 IKKO
linux docker
喜欢就支持一下吧