2024-11-29 10:23:55
,某些文章具有时效性,若有错误或已失效,请在下方留言。在线安装
安装 docker
在终端执行如下命令
bash <(curl -sSL https://linuxmirrors.cn/docker.sh)
选择 安装最新版本的 Docker Engine
选择使用的 Docker CE
源
选择 Docker Register
源
是否关闭防火墙以及 SELinux
等待完成 Docker CE 的安装
安装 docker compose
下载安装包,使用的命令如下
curl -L https://resource.fit2cloud.com/docker/compose/releases/download/v2.26.1/docker-compose-$(uname -s | tr A-Z a-z)-$(uname -m) -o /usr/local/bin/docker-compose
文件授权可执行权限
chmod +x /usr/local/bin/docker-compose
创建软连接
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
执行如下的命令,检测是否安装完成
docker-compose version
上传源码
启动
解压源码,并进入 docker
目录
tar -zxvf dify-0.11.2.tar.gz
mv dify-0.11.2 dify
cd dify/docker
复制环境配置文件
cp .env.example .env
启动 docker 容器
docker-compose up -d
运行命令后,出现以下的输出
[+] Running 11/11
✔ Network docker_ssrf_proxy_network Created 0.1s
✔ Network docker_default Created 0.0s
✔ Container docker-redis-1 Started 2.4s
✔ Container docker-ssrf_proxy-1 Started 2.8s
✔ Container docker-sandbox-1 Started 2.7s
✔ Container docker-web-1 Started 2.7s
✔ Container docker-weaviate-1 Started 2.4s
✔ Container docker-db-1 Started 2.7s
✔ Container docker-api-1 Started 6.5s
✔ Container docker-worker-1 Started 6.4s
✔ Container docker-nginx-1 Started
最后检查是否所有容器都正常运行
docker compose ps
在这个输出中,你应该可以看到包括 3 个业务服务 api / worker / web
,以及 6 个基础组件 weaviate / db / redis / nginx / ssrf_proxy / sandbox
。
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
docker-api-1 langgenius/dify-api:0.11.2 "/bin/bash /entrypoi…" api 17 minutes ago Up 17 minutes 5001/tcp
docker-db-1 postgres:15-alpine "docker-entrypoint.s…" db 17 minutes ago Up 17 minutes (healthy) 5432/tcp
docker-nginx-1 nginx:latest "sh -c 'cp /docker-e…" nginx 17 minutes ago Up 17 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp
docker-redis-1 redis:6-alpine "docker-entrypoint.s…" redis 17 minutes ago Up 17 minutes (healthy) 6379/tcp
docker-sandbox-1 langgenius/dify-sandbox:0.2.10 "/main" sandbox 17 minutes ago Up 17 minutes (healthy)
docker-ssrf_proxy-1 ubuntu/squid:latest "sh -c 'cp /docker-e…" ssrf_proxy 17 minutes ago Up 17 minutes 3128/tcp
docker-weaviate-1 semitechnologies/weaviate:1.19.0 "/bin/weaviate --hos…" weaviate 17 minutes ago Up 17 minutes
docker-web-1 langgenius/dify-web:0.11.2 "/bin/sh ./entrypoin…" web 17 minutes ago Up 17 minutes 3000/tcp
docker-worker-1 langgenius/dify-api:0.11.2 "/bin/bash /entrypoi…" worker 17 minutes ago Up 17 minutes 5001/tcp
离线安装
输入下面的命令,查看系统 CPU 架构
uname -m
安装 docker
1、 下载 docker 安装包
在 [https://download.docker.com/linux/static/stable](https://download.docker.com/linux/static/stable)/CPU架构
链接中找到需要的版本,此处选择 27.3.1
。
2、上传服务器并解压
tar -zxvf docker-27.3.1.tgz
3、复制 docker/
目录下所有文件到/usr/bin
目录下
cp -rf docker/* /usr/bin/
4、创建 docker.service
文件
进入到/usr/lib/systemd/system/
目录下,编辑创建docker.service
文件,用于管理docker
服务,复制黏贴如下内容即可。
vim /usr/lib/systemd/system/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=100m
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
[Install]
WantedBy=multi-user.target
5、重新加载 daemon-reload
systemctl daemon-reload
6、设置开机启动
systemctl enable docker.service
7、启动docker并查看版本
systemctl start docker
docker --version
安装 docker compose
1、下载 docker-compose
文件
https://github.com/docker/compose/releases,此处选择最新版本 v2.30.3
。
2、上传至服务器并复制到指定目录
# 复制到 /usr/local/bin
mv docker-compose-linux-aarch64 /usr/local/bin/docker-compose
# 设置可执行
chmod +x /usr/local/bin/docker-compose
# 创建软链
ln -sf /usr/local/bin/docker-compose /usr/bin/docker-compose
3、 执行如下的命令,检测是否安装完成
docker-compose version
部署源码
将代码上传到服务器,并进行解压
tar -zxvf dify-0.11.2.tar.gz
mv dify-0.11.2 dify
cd dify/docker
复制环境配置文件
cp .env.example .env
导入镜像
将需要的镜像上传到服务器,如下图所示
执行下方命令,将镜像导入
cd /root/arm64
# 导入镜像
docker image load -i ./dify-api.image
docker image load -i ./dify-sandbox.image
docker image load -i ./dify-web.image
docker image load -i ./nginx.image
docker image load -i ./postgres.image
docker image load -i ./redis.image
docker image load -i ./squid.image
docker image load -i ./weaviate.image
查看当前系统中的镜像
[root@localhost arm64]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
postgres 15-alpine c558f49f952d 3 days ago 256MB
langgenius/dify-web 0.11.2 20bd31965900 6 days ago 347MB
langgenius/dify-api 0.11.2 ec932056c6a7 6 days ago 3.03GB
langgenius/dify-sandbox 0.2.10 e09eb1619e46 5 weeks ago 626MB
redis 6-alpine cdabd876a000 7 weeks ago 37MB
nginx latest 7a3f95c07812 7 weeks ago 197MB
ubuntu/squid latest e830c46c0231 2 months ago 288MB
semitechnologies/weaviate 1.19.0 b7fde6d5a98e 19 months ago 51MB
启动
进入 docker 目录,启动 docker 容器
cd /root/dify/docker
docker-compose up -d
替换 web
将 web.tar.gz
压缩包上传到服务器
解压并删除 docker-web-1
中的内容
tar -zxvf web.tar.gz
cd web/
docker exec -it docker-web-1 sh
docker cp ./ docker-web-1:/app/web
重新启动 docker-web-1
容器
docker restart docker-web-1
暂无评论内容