1. Docker环境:

基础环境:

ubuntu 22.04
gpu-driver 550
cuda 12.1
docker 24.0.3
docker-compose v2.28.1
nvidia container runtime 1.16.0

首先配置apt代理,假设系统已经配置好代理:

# APT的配置文件通常位于 /etc/apt/ 目录下。需要编辑 apt.conf 文件,如果该文件不存在,可以创建它。
sudo vim /etc/apt/apt.conf
# 在 apt.conf 文件中添加以下内容:
Acquire::http::Proxy "http://your-proxy-host:your-proxy-port/";
Acquire::https::Proxy "http://your-proxy-host:your-proxy-port/";  

2. docker安装

sudo apt-get update  
# 安装软件包
# sudo apt-get install apt-transport-https ca-certificates curl software-properties-common   
# 添加Docker的官方GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -  
# 添加Docker的APT仓库
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"  
# 更新APT包索引并安装Docker CE(社区版):
sudo apt-get update
sudo apt-get install docker-ce  
# 验证Docker是否安装成功:
sudo docker --version
# 将当前用户添加到Docker用户组:
sudo usermod -aG docker $USER
# 注销并重新登录,或者使用以下命令刷新用户组:
newgrp docker  
# docker设置代理(前提以配置好代理,假设端口7890)
# 创建或编辑Docker服务配置文件  
sudo mkdir -p /etc/systemd/system/docker.service.d  
# 在该目录下创建一个名为 http-proxy.conf 的文件,并添加代理配置:
sudo nano /etc/systemd/system/docker.service.d/http-proxy.conf  
# 在文件中添加以下内容:
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=http://127.0.0.1:7890"
# 重新加载systemd配置并重启Docker服务:
sudo systemctl daemon-reload
sudo systemctl restart docker  
# 通过以下命令验证代理配置是否生效:
sudo systemctl show --property=Environment docker

3. docker-compose安装

Docker Compose是一个用于定义和运行多容器Docker应用程序的工具,通过一个YAML文件来配置应用程序的服务。

# 下载最新版本的Docker Compose:
sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose  
# 赋予Docker Compose可执行权限:
sudo chmod +x /usr/local/bin/docker-compose  
# 验证Docker Compose安装
docker-compose --version  

4. docker-container安装

NVIDIA Container Toolkit允许Docker容器利用NVIDIA GPU的计算能力,这对于深度学习和高性能计算任务尤为重要。

# 添加NVIDIA Container Toolkit的APT仓库:
distribution=$(. /etc/os-release;echo $ID$VERSION_ID)
curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add -
curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list  
# 更新APT包索引并安装NVIDIA Container Toolkit:
sudo apt-get update
sudo apt-get install -y nvidia-container-toolkit
# 重启Docker服务以应用更改:
sudo systemctl restart docker
# 验证NVIDIA Container Toolkit是否安装成功:
sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

5. 安装Dockge:参考官网

Dockge使用docker-compose安装,只需要一个compose.yaml即可,自动拉取镜像,创建应用。

mkdir -p /opt/stacks /opt/dockge  # 创建目录存储相关文件  
cd /opt/dockge  
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml  # 下载compose.yaml文件,也可自己创建,文件内容如下:  
# touch compose.yaml  
# vim compose.yaml
version: "3.8"
services:
  dockge:
    image: louislam/dockge:1
    restart: unless-stopped
    ports:
      - 5001:5001
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - ./data:/app/data
      # Stacks Directory
      # ⚠️ READ IT CAREFULLY. If you did it wrong, your data could end up writing into a WRONG PATH.
      # ⚠️ 1. FULL path only. No relative path (MUST)
      # ⚠️ 2. Left Stacks Path === Right Stacks Path (MUST)
      - /opt/stacks:/opt/stacks
    environment:
      # Tell Dockge where to find the stacks
      - DOCKGE_STACKS_DIR=/opt/stacks
docker compose up -d  # 启动dockge服务  
docker exec -e USER=username -e PASSWORD=password -it container-id npm run reset-password  # 重设密码
docker restart container-id

6. 创建一个docker应用程序,如frpc

浏览器打开 http://127.0.0.1/5001即可看到dockge面板
假设已经构建了fprc镜像,在主页面将以下docker run命令转换为compose.yaml文件,然后部署启动即可。
docker run -d --name=[container-name] --restart=always --network host frpc  
最后修改:2024 年 07 月 29 日
如果觉得我的文章对你有用,请随意赞赏