Docker使用说明

安装Docker和Docker-compose

1
2
3
4
5
6
#===== For Ubuntu/Debian =====
# curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh

# 启动Docker
systemctl start docker

安装Docker-compose

1
sudo apt install docker-compose -y 

Docker使用,教程

1
2
3
4
5
# 创建镜像
docker build -t my-website .

# 运行容器
docker run -d -p 80:80 my-website

Docker安装

官方安装教程
CentOS平台安装Docker

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#===== For Ubuntu/Debian =====
curl -fsSL https://get.docker.com -o get-docker.sh && sh get-docker.sh
# curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
# sudo sh get-docker.sh --mirror AzureChinaCloud
# sudo sh get-docker.sh --mirror Aliyun

#===== For CentOS =====
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
sudo yum install -y docker-ce docker-ce-cli containerd.io

# 或者按如下方式安装(参考阿里云)
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce

Docker使用说明

构建容器镜像

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
# 启动Docker
systemctl start docker

# 查看Docker运行状态
service docker stats

# 开启Docker
service docker start

# 构建容器镜像,注意末尾的 `.` 字符
docker build -t image_name .

# 运行容器
docker run --name App_Name -e OPENAI_API_KEY="sk-*******" -e CODE="00000,11111" -d -p 80:98732 image_name

命令说明:

参数 说明
--name App_Name 将容器名称设置为App_name
-d 让容器在后台运行
-p 80:98732 将容器端口98732映射为主机的80端口,即端口的形式为 主机端口:容器端口
-e OPENAI_API_KEY="sk-****" 设置容器中的环境变量 OPENAI_API_KEY
image_name 镜像名称,镜像名可以添加Tag(默认为latest),如image_name:tag

Docker 用法

Docker详解

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
# 查看docker状态 
docker stats

# 查看容器网络连接
docker network ls


# 查看容器镜像列表
docker image ls -a
docker image ls | docker images
docker image ls -f dangling-true
docker image --filter "dangling=true"
docker image ls -f dangling-true # list dangling images

# 删除容器镜像
docker rmi -f image_id
docker rmi -f NONE:NODE # REPOSITORY[:TAG]
docker rmi -f $(docker images --filter "dangling=true" -q) # delete dangling images


# 查看容器运行列表
docker ps
docker container ls
docker start CONTAINER_ID
docker stop CONTAINER_ID
docker rm CONTAINER_ID
docker logs CONTAINER_ID

# 进入容器环境
docker attach CONTAINER # 退出后容器也停止
docker exec -it CONTAINER bash # 退出后不影响容器

# 删除容器
docker container rm CONTAINER_ID # 删除特定编号停止运行的容器
docker container prune # 删除所有停止运行的容器

Docker-compose使用说明

安装Docker-compose,需要先安装Docker:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
sudo apt install docker-compose -y 

docker-compose up # build container
docker-compose up -d # run background
docker-compose -f docker-compose.yml up

docker-compose build
docker-compose up --build

docker-compose ps # show status of the current container
docker-compose start
docker-compose stop
docker-compose restart
docker-compose down # delete container

订阅转换搭建工具

教程

工具 说明
sub-convert 后端转换工具,docker run -d --restart=always --name subconverter -p 25500:25500 tindy2013/subconverter:latest
sub-web 前端转换页面,docker run -d -p 58080:80 --restart always --name subweb careywong/subweb:latest
MyUrls 短链接生成,docker run -d --restart always --name myurls careywong/myurls:latest -domain example.com -port 8002 -conn 127.0.0.1:6379 -passwd '' -ttl 90

sub-web和MyUrls也可手动部署

sub-web应先修改好目录下面的/root/sub-web/src/views/Subconverter.vue文件,然后再构建容器。

1
2
3
4
5
6
7
8
9
10
11
12
# 摘取仓库代码 
git clone https://github.com/CareyWang/sub-web.git sub-web
git clone https://github.com/CareyWang/MyUrls.git MyUrls

# 构建节点转换前端网页,应先修改好Subconverter.vue文件
docker build -t subweb-local:latest .
docker run -d -p 58080:80 --restart always --name subweb subweb-local:latest

# 构建MyURls短链接工具,应先修改好.env文件
docker build -t subweb-local:latest . # 构建镜像
docker run -d -p 58080:80 --restart always --name subweb subweb-local:latest

常用容器构建举例

名称 说明
Pandora ChatGPT的反代聊天工具,可实现国内的无墙访问,并解除一些功能上的限制
ChatGPT-Next-Web 使用OpenAI的API接口搭建的聊天工具,可部署在Vercel、zeabur等免费的容器上,需要设置API_KEY,消耗用户的Token。
gpt_academic 多模型GPT学术辅助工具

部署可以通过conda虚拟环境或使用Docker容器进行,建议使用容器部署。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
# Pandora 
git clone https://github.com/lmzxtek/pandora-cloud-serverless.git
cd pandora-cloud-serverless
python3 -m pip install -r requirements.txt

nohup python3 -u main.py &

# ChatGPT-Next-Web
docker build -t chatgptnextweb .
docker run --name ChatGPTNextWeb -d -p 3000:3000 -e OPENAI_API_KEY="sk-***" -e CODE="12345" chatgptnextweb

# gpt_academic
git clone https://github.com/binary-husky/gpt_academic.git

docker build -t gptacademic . # 构建镜像
docker run --name GPT-Academic -it -e WEB_PORT=50923 -d -p 50923:50923 gptacademic # 运行容器
docker run --name gptaca -it \
-e API_KEY="sk-******" \
-e AUTHENTICATION='[("qq","12345")]' \
-e WEB_PORT=50923 \
-e AUTO_CLEAR_TXT=True \
-e ADD_WAIFU=True \
-d -p 50923:50923 \
gptacademic

# nohup python3 main.py &