使用Docker Compose来运行Rocket.Chat
总结
通过使用Docker Compose命令,您可以构建一个可运行Rocket.Chat的环境。尽管从源代码构建或使用Docker命令操作可能很麻烦,但我们可以通过使用Compose来解决这些问题。
Rocket.Chat 是什么?这个和 Slack 类似吗?
Rocket.Chat(https://rocket.chat/)是一个开源的网络聊天平台。它由Github上的志愿者进行开发,并在MIT许可证下进行分发。说实话,它是Slack的复刻品。
动机
在Docker和Docker Compose的演示中,Wordpress被广泛使用。然而,对于不写博客的人来说,这可能不感兴趣,并且每次演示中使用Wordpress太过陈旧。因此,为了替代WordPress,在应用程序和数据库的构建中,我们找到了一个既实用又可用于Docker的选择……这是一个极其不纯的理由。
活动环境
-
- Docker daemon が稼働中の環境
- Docker Compose がセットアップ済み
步骤
创建任意目录并创建docker-compose.yml文件。下面的示例是文档中的示例,创建并链接了两个容器,即”rocketchat”和”mongodb”。此外,将主机的端口80映射到容器的端口80。
rocketchat:
image: rocketchat/rocket.chat
environment:
- MONGO_URL=mongodb://mongodb/rocketchat
- ROOT_URL=http://localhost:80
links:
- mongodb
ports:
- 80:80
mongodb:
image: mongo
ports:
- 27017
要启动,使用docker-compose up 命令。
$ docker-compose up -d
Starting rkt_mongodb_1...
Starting rkt_rocketchat_1...
等待一会儿,Rocket.Chat 将会启动。通过 docker-compose ps 命令来确认当前状态。
$ docker-compose ps
Name Command State Ports
------------------------------------------------------------------------------------
rkt_mongodb_1 /entrypoint.sh mongod Up 0.0.0.0:32775->27017/tcp
rkt_rocketchat_1 /bin/sh -c bash $METEORD_D ... Up 0.0.0.0:80->80/tcp
在浏览器中访问目标服务器的端口80,然后会打开下一个页面。点击”注册新账号”。

接下来,用户可以注册个人信息,最终会看到类似于下面这样(或许在某个地方见过)的界面。点击“#general”等,就可以进行像聊天室一样的操作。

停止和启动分别是stop和start。数据使用名为/data/db的本地卷,并且在重新启动后仍然可以使用。
$ docker-compose stop
Stopping rkt_rocketchat_1... done
Stopping rkt_mongodb_1... done
$ docker-compose start
Starting rkt_mongodb_1...
Starting rkt_rocketchat_1...
如果最后不再使用,请停止并删除(-v 选项是一并删除卷的选项)。
$ docker-compose rm -v
No stopped containers
$ docker-compose stop
Stopping rkt_rocketchat_1... done
Stopping rkt_mongodb_1... done