一、安装Docker
1. 更新你的包索引
首先,确保你的包列表是最新的。打开终端并运行以下命令:
sudo apt update
2. 安装必要的依赖项
安装Docker之前,你需要安装一些必要的依赖项。运行以下命令来安装它们:
sudo apt install apt-transport-https ca-certificates curl software-properties-common
3. 添加Docker的官方GPG密钥
为了确保你安装的是官方的Docker包,你需要添加Docker的官方GPG密钥。运行以下命令:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
4. 设置稳定版仓库
添加Docker仓库到你的系统中。根据你的Ubuntu版本,选择合适的仓库地址。例如,对于Ubuntu 22.04(Focal Fossa),你可以运行:
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu focal stable"
第一遍过程中报错
开启科学上网后,运行正常
对于其他版本的Ubuntu,请将focal替换为你的Ubuntu版本代号,如bionic(Ubuntu 18.04),xenial(Ubuntu 16.04)等。
5. 再次更新包索引
添加仓库后,再次更新你的包索引:
sudo apt-get update
6. 安装Docker CE
现在,你可以安装Docker CE(社区版)了。运行以下命令:
sudo apt-get install docker-ce docker-ce-cli containerd.io
安装顺利完成,记住要在科学上网的环境下。
7. 启动Docker服务并设置开机启动
安装完成后,启动Docker服务并设置其开机自启:
sudo systemctl start docker
sudo systemctl enable docker
8. 验证安装
最后,验证Docker是否正确安装并运行:
docker --version
二、部署Dify
1.拉取Dify镜像
git clone https://github.com/langgenius/dify.git
2.配置环境变量
进入刚下载的dify目下的docker目录,执行下面命令,使用官方给的样例复制一份变量配置。
cp middleware.env.example middleware.env

3.启动dify服务
检查Docker Compose版本:
docker compose version
根据版本选择启动命令:
V2版本执行:
sudo docker compose up -d
V1版本执行:
sudo docker-compose up -d
第一次运行报错如下
定位问题原因,是dns配置或网络代理等问题,逐一解决。
nslookup registra-1.docker.io
配置docker所需的dns
sudo nano /etc/docker/daemon.json
重启docker服务
sudo systemctl restart docker
再次拉取文件,启动服务。如果还不行,为Docker单独配置代理。
编辑Docker服务代理配置(全局通用,会影响到所有应用程序):
sudo mkdir -p /etc/systemd/system/docker.service.d
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"
Environment="NO_PROXY=localhost,127.0.0.1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
保存后执行:
sudo systemctl daemon-reload
sudo systemctl restart docker
验证代理是否生效,运行以下命令检查环境变量
sudo systemctl show --property=Environment docker
编辑Docker服务代理配置(Docker专用,只会影响到docker应用):
sudo nano ~/.docker/config.json
config.json
{
"proxies": {
"default": {
"httpProxy": "http://127.0.0.1:7890",
"httpsProxy": "http://127.0.0.1:7890",
"noProxy": "localhost,127.0.0.1,10.0.0.0/8,172.16.0.0/12,192.168.0.0/16"
}
}}
再次拉取文件,启动服务。(如果还是报错可以关闭终端重新开启一个命令窗口再运行)
sudo docker compose up -d
4.验证dify是否正常启动
查看镜像以及运行状态
sudo docker images
到浏览器输入127.0.0.1(局域网内其它主机可以使用服务器的ip地址进行访问),打开dify配置界面,首次登录需要配置管理员用户名和密码,进去后显示界面如下:
登录
首页界面如下