如何在 Ubuntu 22.04 上使用 Docker 安装 Appwrite
在此页
- 先决条件
- 添加 Docker 存储库
- 安装 Docker CE
- 在 Ubuntu 22.04 上安装 Appwrite
- 访问 Appwrite Web 界面
- 结论
Appwrite 是一个免费的开源后端服务器,它提供构建任何应用程序所需的核心 API,这些应用程序打包在一起作为一组易于使用的 Docker 容器。它可以帮助移动开发人员更快地构建高级应用程序。 Appwrite 为您节省了构建现代应用程序所需的 70% 的时间和成本。它提供了一个简单且用户友好的 Web 界面,可帮助您跟踪后端 API 使用情况并从 Web 浏览器管理项目资源。
在这篇文章中,我们将向您展示如何在 Ubuntu 22.04 上使用 Docker 安装 Appwrite 服务器。
先决条件
- 一台运行 Ubuntu 22.04 的服务器。
- 在服务器上配置了根密码。
添加 Docker 存储库
默认情况下,最新版本的 Docker 在 Ubuntu 默认存储库中不可用。所以你需要从 Dockers 官方存储库安装它:
首先,使用以下命令安装所有必需的依赖项:
apt install apt-transport-https ca-certificates curl software-properties-common -y
安装所有包后,使用以下命令下载并添加 Docker GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | apt-key add -
接下来,使用以下命令添加 Docker 官方存储库:
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu jammy stable"
添加 Docker 存储库后,您可以使用以下命令验证添加的存储库:
apt-cache policy docker-ce
您将获得以下输出:
docker-ce:
Installed: (none)
Candidate: 5:20.10.17~3-0~ubuntu-jammy
Version table:
5:20.10.17~3-0~ubuntu-jammy 500
500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
5:20.10.16~3-0~ubuntu-jammy 500
500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
5:20.10.15~3-0~ubuntu-jammy 500
500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
5:20.10.14~3-0~ubuntu-jammy 500
500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
5:20.10.13~3-0~ubuntu-jammy 500
500 https://download.docker.com/linux/ubuntu jammy/stable amd64 Packages
安装 Docker CE
现在,通过运行以下命令安装 Docker CE 包:
apt install docker-ce -y
安装 Docker CE 后,您可以使用以下命令验证 Docker CE 版本:
docker --version
您应该看到以下输出:
Docker version 20.10.17, build 100c701
您还可以使用以下命令验证 Docker 的状态:
systemctl status docker
您应该看到以下输出:
? docker.service - Docker Application Container Engine
Loaded: loaded (/lib/systemd/system/docker.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2022-08-28 05:52:18 UTC; 47s ago
TriggeredBy: ? docker.socket
Docs: https://docs.docker.com
Main PID: 2719 (dockerd)
Tasks: 7
Memory: 30.3M
CPU: 312ms
CGroup: /system.slice/docker.service
??2719 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.379341986Z" level=info msg="scheme \"unix\" not registered, fallback to d>
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.379467088Z" level=info msg="ccResolverWrapper: sending update to cc: {[{u>
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.379593467Z" level=info msg="ClientConn switching balancer to \"pick_first>
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.427861369Z" level=info msg="Loading containers: start."
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.620267088Z" level=info msg="Default bridge (docker0) is assigned with an >
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.713742709Z" level=info msg="Loading containers: done."
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.744925054Z" level=info msg="Docker daemon" commit=a89b842 graphdriver(s)=>
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.745338168Z" level=info msg="Daemon has completed initialization"
Aug 28 05:52:18 ubuntu2204 systemd[1]: Started Docker Application Container Engine.
Aug 28 05:52:18 ubuntu2204 dockerd[2719]: time="2022-08-28T05:52:18.805663866Z" level=info msg="API listen on /run/docker.sock"
在 Ubuntu 22.04 上安装 Appwrite
您现在可以通过运行以下命令来安装 Appwrite:
docker run -it --rm --volume /var/run/docker.sock:/var/run/docker.sock --volume "$(pwd)"/appwrite:/usr/src/code/appwrite:rw --entrypoint="install" appwrite/appwrite:0.12.1
此命令将为 Appwrite 下载所有必需的图像并创建一个容器。在此过程中,系统会要求您选择 HTTP 和 HTTPS 服务器端口:
83577bffd893: Pull complete
9722b4cda70e: Pull complete
bede3c89f2f3: Pull complete
0bb0dd9a25cc: Pull complete
d431a0cda7a4: Pull complete
bd9edd8b939c: Pull complete
24ccf9e70cfd: Pull complete
bc8aa3e29770: Pull complete
4ee3909c4974: Pull complete
359c5d4ab0a2: Pull complete
97ffe4879aea: Pull complete
42e96d223d26: Pull complete
c12fc543b73f: Pull complete
e25a36152792: Pull complete
e672f91535ad: Pull complete
f4a1c11b6f1d: Pull complete
9df8264116e7: Pull complete
f3c7599812dd: Pull complete
cf51f2dd9e94: Pull complete
Digest: sha256:ddc9e53482252df4eb2e0ff90a7efff6cec5346b34240f664ac24e582dc65071
Status: Downloaded newer image for appwrite/appwrite:0.12.1
Starting Appwrite installation...
Choose your server HTTP port: (default: 80)
Choose your server HTTPS port: (default: 443)
Choose a secret API key, make sure to make a backup of your key in a secure location (default: 'your-secret-key')
提供您的首选端口,然后按 Enter 键。您将被要求提供您的 Appwrite 主机名:
Enter your Appwrite hostname (default: 'localhost')
appwrite.example.com
Provide your hostname and press the Enter key. Once the Appwrite has been installed, you will get the following output:
Enter a DNS A record hostname to serve as a CNAME for your custom domains.
You can use the same value as used for the Appwrite hostname. (default: 'localhost')
appwrite.example.com
Running "docker-compose -f /usr/src/code/appwrite/docker-compose.yml up -d --remove-orphans --renew-anon-volumes"
Appwrite installed successfully
您现在可以使用以下命令验证所有下载的 Docker 映像:
docker images
您将获得以下输出:
REPOSITORY TAG IMAGE ID CREATED SIZE
mariadb 10.7 b0408ef424b9 4 days ago 415MB
traefik 2.5 865923368a9f 7 months ago 101MB
appwrite/appwrite 0.12.1 5dd87572d61b 7 months ago 492MB
appwrite/runtime-for-java 16.0 80cb53a883d9 14 months ago 327MB
appwrite/runtime-for-node 16.0 dd69334e816d 14 months ago 116MB
appwrite/runtime-for-ruby 3.0 553408e76d3d 14 months ago 62.6MB
appwrite/runtime-for-python 3.9 98f1967126b5 14 months ago 47.6MB
appwrite/runtime-for-php 8.0 e6c8c40bd069 14 months ago 86.3MB
appwrite/telegraf 1.2.0 b524e292d428 15 months ago 127MB
redis 6.0-alpine3.12 933c79ea2511 19 months ago 31.6MB
appwrite/influxdb 1.0.0 8c1dd387596e 22 months ago 248MB
您可以使用以下命令查看所有正在运行的容器:
docker ps
您将在以下输出中获得所有正在运行的容器的列表:
NAMES
a496ce91c5ed traefik:2.5 "/entrypoint.sh --pr…" 33 seconds ago Up 30 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp appwrite-traefik
36c7df33b630 appwrite/appwrite:0.12.1 "worker-database" 44 seconds ago Up 33 seconds 80/tcp appwrite-worker-database
66e36ce68586 appwrite/appwrite:0.12.1 "worker-functions" 45 seconds ago Up 33 seconds 80/tcp appwrite-worker-functions
5011d448b1ed appwrite/appwrite:0.12.1 "realtime" 45 seconds ago Up 33 seconds 80/tcp appwrite-realtime
84e117d48e23 appwrite/appwrite:0.12.1 "docker-php-entrypoi…" 45 seconds ago Up 33 seconds 80/tcp appwrite
95465c386e19 appwrite/appwrite:0.12.1 "worker-audits" 45 seconds ago Up 34 seconds 80/tcp appwrite-worker-audits
c0ddb48e3d0c appwrite/appwrite:0.12.1 "worker-certificates" 45 seconds ago Up 33 seconds 80/tcp appwrite-worker-certificates
0cc2c6f401d8 appwrite/appwrite:0.12.1 "worker-webhooks" 45 seconds ago Up 33 seconds 80/tcp appwrite-worker-webhooks
47a519fa6e6d appwrite/appwrite:0.12.1 "worker-deletes" 45 seconds ago Up 37 seconds 80/tcp appwrite-worker-deletes
af354030c8f7 appwrite/appwrite:0.12.1 "usage" 45 seconds ago Up 37 seconds 80/tcp appwrite-usage
f25b1832b3bc appwrite/appwrite:0.12.1 "schedule" 46 seconds ago Up 40 seconds 80/tcp appwrite-schedule
f5c7c025ecb3 appwrite/appwrite:0.12.1 "maintenance" 46 seconds ago Up 41 seconds 80/tcp appwrite-maintenance
e25d6b28b033 appwrite/appwrite:0.12.1 "worker-mails" 46 seconds ago Up 38 seconds 80/tcp appwrite-worker-mails
1c927b29732f appwrite/telegraf:1.2.0 "/entrypoint.sh tele…" 48 seconds ago Up 45 seconds 8092/udp, 8125/udp, 8094/tcp appwrite-telegraf
7d8e644afba3 mariadb:10.7 "docker-entrypoint.s…" 48 seconds ago Up 45 seconds 3306/tcp appwrite-mariadb
21e8c76c53a0 appwrite/influxdb:1.0.0 "/entrypoint.sh infl…" 48 seconds ago Up 46 seconds 8086/tcp appwrite-influxdb
5b136250c71f redis:6.0-alpine3.12 "docker-entrypoint.s…" 48 seconds ago Up 46 seconds 6379/tcp appwrite-redis
访问 Appwrite Web 界面
现在,打开您的网络浏览器并使用 URL https://appwrite.example.com 访问 Appwrite 网络界面。您将被重定向到 Appwrite 注册页面:

提供您的姓名、电子邮件地址、密码,然后单击“注册”按钮。您应该在以下页面上看到 Appwrite 仪表板:

单击“创建项目”按钮以创建您的第一个项目。您应该会看到以下页面:

提供您的项目 ID、项目名称,然后单击“创建”按钮。您将进入您的项目页面:


现在,您需要添加一个平台来构建您的应用程序。单击添加平台按钮。您应该会看到以下页面:

提供您的应用程序名称、主机名并单击“注册”按钮。您应该会看到以下页面:

结论
恭喜!您已经在 Ubuntu 22.04 上成功安装了带有 Docker 的 Appwrite。您现在可以在 Appwrite 平台上部署您的第一个 Web 或移动应用程序。如果您有任何问题,请随时问我。