创建和启动容器而不使用docker-compose(Rocket.Chat部分)

当提到Docker时,人们通常会使用docker-compose,这已成为理所当然的事情。但我想更从基础开始学习!这是我想要的内容。

环境

$ cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)

$ docker --version
Docker version 1.13.1, build b2f74b2/1.13.1

由于sudo太麻烦,所以没有写。请帮我改写一下。

目录 (mù lù)

    • Dockerインストール

Rocket.Chatを起動する

Rocket.Chatの構成を知る
mongoDBのDB領域を作る(Volume)
mongoDBのコンテナを作る
Rocket.Chatのコンテナを作る
Rocket.Chatを起動する


请使用中文将以下内容进行释义,只需要提供一种选项:

Please drive more slowly.

安装Docker

首先,确保主机服务器处于联机状态,不需要使用epel、ius等仓库扩展。

$ ping google.com -c 3
PING google.com (216.58.197.174) 56(84) bytes of data.
64 bytes from nrt12s02-in-f174.1e100.net (216.58.197.174): icmp_seq=1 ttl=49 time=59.7 ms
64 bytes from nrt12s02-in-f174.1e100.net (216.58.197.174): icmp_seq=2 ttl=49 time=50.1 ms
64 bytes from nrt12s02-in-f174.1e100.net (216.58.197.174): icmp_seq=3 ttl=49 time=47.6 ms

如果无法连接,您可以编辑/etc/resolv.conf或使用/sbin/ip route add default via xxx 来设置网关。

我们马上安装Docker。
虽然本节不涉及docker-compose,
但为了以后方便,我认为最好一开始就安装好。

$ yum install docker docker-compose
$ systemctl start docker
$ systemctl enable docker

接下来会毫不留情地关闭SELinux和firewalld。
如果能够熟练使用,是非常酷的呢。

$ getenforce
Enforcing
$ setenfoce 0
$ getenforce
Permissive
$ vim /etc/selinux/config
----------------------------------------------------------------------
  # This file controls the state of SELinux on the system.
  # SELINUX= can take one of these three values:
  #     enforcing - SELinux security policy is enforced.
  #     permissive - SELinux prints warnings instead of enforcing.
  #     disabled - No SELinux policy is loaded.
- SELINUX=enforcing
+ SELINUX=disabled
  # SELINUXTYPE= can take one of three values:
----------------------------------------------------------------------

$ systemctl stop firewalld
$ systemctl disable firewalld

当到达这一步,准备工作就完成了。
最后我们需要确认一下情况。

$ docker --version
Docker version 1.13.1, build b2f74b2/1.13.1

$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

请使用中文将以下内容进行改述,只需要给出一个选择:

– I am sorry, I cannot make it to the meeting tomorrow due to a sudden personal emergency.

启动Rocket.Chat

试试类似slack的聊天工具,启动Rocket.Chat。

请用中文进行原生态的改写,只需提供一种选项:

请改写以下句子:

“The cat is sleeping on the chair.”

改写选项:

猫正在椅子上睡觉。

了解 Rocket.Chat 的配置

用Docker Compose启动Rocket.Chat。

从以下两个图像中可以看出,Rocket.Chat是由以下两个图像组成的。

    • Rocket.Chat 本体

 

    mongoDB

请用中文将下面的句子转述成同义句:

创建MongoDB的数据库卷 (Volume)

在主机服务器上创建一个用于存储MongoDB数据的空间。如果不这样做,聊天日志将只保存在容器内部,当容器被销毁时,日志也会消失。

通常情况下,我们会创建专用的LV,但由于会变得复杂,所以在这里省略了。
这次只是简单地在/var目录下创建一个目录。

$ mkdir -p /var/data/rocketchat_db

请将以下内容用中文母语进行改写,只需要提供一种选择:

请将以下内容用中文进行改写,只需提供一种选项:

创建一个MongoDB容器

我从 Docker Hub 上找到了 MongoDB 的镜像。

$ docker search mongo
INDEX       NAME                                          DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/mongo                               MongoDB document databases provide high av...   5967      [OK]
docker.io   docker.io/mongo-express                       Web-based MongoDB admin interface, written...   468       [OK]
docker.io   docker.io/tutum/mongodb                       MongoDB Docker image ? listens in port 270...   226                  [OK]
:

这次我们将使用官方镜像docker.io/mongo来使用Mongo。mongo:tag

在本文撰写时,mongo:3.4.21是最新版本。
使用docker pull命令获取镜像。

$ docker pull mongo:3.4.21
$ docker images
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
docker.io/mongo     3.4.21              0a8d98121dec        5 days ago          426 MB

在创建容器时,我们将从mongo:description中学习到mongoDB所需的选项。

从另一个Docker容器连接到MongoDB

据说MongoDB默认使用“27017”端口。
由于这次没有其他正在使用MongoDB的容器,所以我们将保持原样。

无需配置文件,可自定义配置。

如果使用”smallfiles”选项,可以在MongoDB中以较小的大小运行。
关于”小大小”的定义,请参考以下内容。

    • MongoDBのjournalのファイルサイズが大きすぎる

 

    MongoDBでデータベースサイズが気になるとき

设置WiredTiger缓存大小限制

在MongoDB中,可以指定要使用的缓存大小。令人意外的是,似乎无法通过Docker功能来指定内存(–memory string)。
如果要进行实际运营,可能需要指定缓存大小。

这次我们将用–wiredTigerCacheSizeGB 1.5来将缓存设定为1.5GB。
这个预计是将内存和缓存总和控制在约2GB左右。

    MongoDBでメモリサイズを1G未満に設定する裏技

使用自定义的MongoDB配置文件

在主机服务器上准备MongoDB的配置文件也是可能的。
由于此次需要的选项都会在创建容器时通过参数传递,因此不需要准备任何东西。

环境变量

超级用户可以指定密码。
这仅在实例建立时有效,并且无法在之后更改。

我会试着按照以下的方式进行设置。

-e MONGO_INITDB_ROOT_USERNAME=rcadmin \
-e MONGO_INITDB_ROOT_PASSWORD=p@55w0rd

据说如果指定MONGO_INITDB_DATABASE,可以指定数据库名称,但是恐怕Rocket.Chat应用程序会创建数据库,所以这里不需要指定。

需要注意的是创建容器时的语法。

$ docker container create [オプション] image名 [COMMAND]

在使用docker命令时,选项需要在image之前指定。如果在image之后指定,则会被视为COMMAND。

大致上看起来就是这样了。
你应该去查看MongoDB的官方网站以获取更详细的信息。

根据上述内容,我们将按以下方式创建容器。

$ docker container create \
 --name rocketchat_db \
 --volume=/var/data/rocketchat_db:/data/db \
 -e MONGO_INITDB_ROOT_USERNAME=rcadmin \
 -e MONGO_INITDB_ROOT_PASSWORD=p@55w0rd \
 mongo:3.4.21 \
 --smallfiles \
 --wiredTigerCacheSizeGB 1.5

$ docker container list --all
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
555eb5e21cd6        mongo:3.4.21        "docker-entrypoint..."   9 seconds ago       Created                                 rocketchat_db

成功创建容器,一切正常。

请用中文转述以下内容,只需要提供一种选项:

The weather is very hot today and I am feeling tired.

创建一个Rocket.Chat容器

在Docker Hub上搜索Rocket.Chat的镜像。

$ docker search rocket.chat
INDEX       NAME                                          DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/rocket.chat                         The Complete Open Source Chat Solution          433       [OK]
docker.io   docker.io/rocketchat/rocket.chat              Official Rocket.Chat docker deployment ima...   170                  [OK]
docker.io   docker.io/rocketchat/rocket.chat.enterprise   Rocket.Chat Enterprise                          2
docker.io   docker.io/monolitme/rocket.chat               FIGapp customization to RocketChat              1                    [OK]
:

观看在Qiita上发布的文章后发现大约三分之一的人使用了docker.io/rocketchat/rocket.chat。

看起来 Rocket.Chat 有两个可访问的公开频道。

    • rocket.chat

 

    rocketchat/rocket.chat

由于docker.io/rocket.chat的官方文档更加详实,我们决定选择这个版本。

火箭聊天:标签

本文所指时间rocket.chat:1.1.2 是最新版本。
使用docker pull 命令来获取镜像。

$ docker pull rocket.chat:1.1.2
$ docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
docker.io/rocket.chat   1.1.2               a4180953b9e4        5 hours ago         696 MB
docker.io/mongo         3.4.21              0a8d98121dec        6 days ago          426 MB

在创建容器之前,我们从rocket.chat:description中学习到rocket.chat所要求的选项。

首先,启动一个Mongo实例。

這已經做過了所以跳過吧。

然后启动与这个Mongo实例连接的Rocket.Chat。

只需要在启动时链接到之前创建的MongoDB。

这将在容器上启动一个Rocket.Chat实例,监听默认的Meteor端口3000。

默认情况下,应该是3000端口。
由于没有特别的要求,我们将继续使用3000端口进行操作。
为了确保,我们决定明确地将主机的3000端口与容器的3000端口绑定,使用-p 3000:3000指令。

然后在浏览器中通过 http://localhost 访问它。如果您正在自己的域名上进行托管,请将 ROOT_URL 中的 localhost 替换为您自己的域名。
如果您正在使用第三方的Mongo提供商或与Kubernetes工作,则需要覆盖MONGO_URL环境变量。

如果使用k8s或第三方制造的mongoDB,似乎需要指定mongoDB的URL。
由于本次是在同一个docker主机上进行链接连接,所以不需要。

查找Rocket.Chat时,我发现选项比我想的少。

使用Docker Compose安装RocketChat并学习基本的使用方法(1/3)

当参考此文所述docker-compose的YAML文件时,
我们会按照以下方式提供环境变量。

rocketchat:
  # コンテナイメージを指定(image:コンテナイメージ名:タグ名)
  image: rocketchat/rocket.chat:latest
  # 環境変数を設定
  environment:
    # MongoDB(db)のURLを指定
    - MONGO_URL=mongodb://db:27017/rocketchat
    # RocketChatのURL(ここではホスト名をlocalhostとしています)
    - ROOT_URL=http://localhost
    # アカウントのメールアドレスのドメインチェックを無効化
    - Accounts_UseDNSDomainCheck=false
  # MongoDB(db)へのリンクを指定
  links:
    - db:db
  # RocketChatのポートを設定
  ports:
    - 3000:3000

这个ROOT_URL似乎是个问题。
这次我们将指定与主机服务器相同的IP地址。

根据上述内容,我们将按以下方式创建容器。

$ docker container create \
  --name rocketchat \
  -p 3000:3000 \
  --link rocketchat_db \
  -e ROOT_URL=http://192.168.10.100 \
  rocket.chat:1.1.2
$ docker container list --all
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS              PORTS               NAMES
e408b03cc6e9        rocket.chat:1.1.2   "node main.js"           11 seconds ago       Created                                 rocketchat
555eb5e21cd6        mongo:3.4.21        "docker-entrypoint..."   About a minute ago   Created                                 rocketchat_db

容器创建已顺利完成。

请用汉语将以下内容进行改述,只需要一个选项:

请注意我今天要说的关键点。
请注意关键点是我今天要谈论的重点。
请注意我今天要讨论的核心内容。

启动Rocket.Chat。

我将检查已创建的容器。

$ docker container list --all
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
e408b03cc6e9        rocket.chat:1.1.2   "node main.js"           6 minutes ago       Created                                 rocketchat
555eb5e21cd6        mongo:3.4.21        "docker-entrypoint..."   7 minutes ago       Created                                 rocketchat_db

按照Rocket.Chat的手册,依次启动mongo和rocket.chat。
首先启动mongoDB。

$ docker container start rocketchat_db
$ docker container list --all
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS               NAMES
e408b03cc6e9        rocket.chat:1.1.2   "node main.js"           7 minutes ago       Created                                 rocketchat
555eb5e21cd6        mongo:3.4.21        "docker-entrypoint..."   9 minutes ago       Up 23 seconds       27017/tcp           rocketchat_db

状态已更改为“上线”。
接下来启动Rocket.chat。

$ docker container start rocketchat
Error response from daemon: driver failed programming external connectivity on endpoint rocketchat (51314050dba540e3430e0685ec5b643b9e43c2a495e469b2154ee7760b6c7692):  (iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 3000 -j DNAT --to-destination 172.17.0.3:3000 ! -i docker0: iptables: No chain/target/match by that name.
 (exit status 1))
Error: failed to start containers: rocketchat

发生了错误。我们需要确认内容。
看起来尝试使用iptables进行转发时失败了。

有人说,通过重启Docker守护进程,能够解决Docker容器由于iptables错误无法启动的问题。

$ docker container stop rocketchat_db
$ systemctl restart docker
$ docker ps -a
$ docker container start rocketchat_db
$ docker container start rocketchat

我会尝试启动确认。

$ docker ps -a
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                     PORTS               NAMES
e408b03cc6e9        rocket.chat:1.1.2   "node main.js"           19 minutes ago      Exited (1) 3 minutes ago                       rocketchat
555eb5e21cd6        mongo:3.4.21        "docker-entrypoint..."   20 minutes ago      Up 3 minutes               27017/tcp           rocketchat_db

起動时没有出现错误,但已退出(1)。
似乎由于另一个问题无法启动。

我们尝试使用docker logs命令来确认标准输出。

$ docker logs rocketchat
/app/bundle/programs/server/node_modules/fibers/future.js:313
                                                throw(ex);
                                                ^
MongoNetworkError: failed to connect to server [db:27017] on first connect [MongoNetworkError: getaddrinfo ENOTFOUND db db:27017]
    at Pool.<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/topologies/server.js:564:11)
    at emitOne (events.js:116:13)
    at Pool.emit (events.js:211:7)
    at Connection.<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/pool.js:317:12)
    at Object.onceWrapper (events.js:317:30)
    at emitTwo (events.js:126:13)
    at Connection.emit (events.js:214:7)
    at Socket.<anonymous> (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/connection.js:246:50)
    at Object.onceWrapper (events.js:315:30)
    at emitOne (events.js:116:13)
    at Socket.emit (events.js:211:7)
    at emitErrorNT (internal/streams/destroy.js:64:8)
    at _combinedTickCallback (internal/process/next_tick.js:138:11)
    at process._tickCallback (internal/process/next_tick.js:180:9)

似乎在连接MongoDB方面出现了问题,报错为getaddressinfo ENOTFOUND db。

编辑Rocket.Chat容器创建时的–link选项。
将rocketchat_db容器识别为db,
–link rocketchat_db:db。

$ docker container rm rocketchat
$ docker container create \
  --name rocketchat \
  -p 3000:3000 \
  --link rocketchat_db:db \
  -e ROOT_URL=http://192.168.10.100 \
  rocket.chat:1.1.2

$ docker container start rocketchat
$ docker container list --all
CONTAINER ID        IMAGE               COMMAND                  CREATED              STATUS                      PORTS               NAMES
5a7f04dc0611        rocket.chat:1.1.2   "node main.js"           About a minute ago   Exited (1) 2 seconds ago                        rocketchat
052a9dd76d9a        mongo:3.4.21        "docker-entrypoint..."   2 minutes ago        Up 17 seconds               27017/tcp           rocketchat_db

还不行。我会去检查一下日志。

$ docker logs rocketchat
/app/bundle/programs/server/node_modules/fibers/future.js:313
                                                throw(ex);
                                                ^
MongoError: not authorized on meteor to execute command { listIndexes: "users", cursor: {} }
    at queryCallback (/app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/cursor.js:248:25)
    at /app/bundle/programs/server/npm/node_modules/meteor/npm-mongo/node_modules/mongodb-core/lib/connection/pool.js:532:18
    at _combinedTickCallback (internal/process/next_tick.js:131:7)
    at process._tickCallback (internal/process/next_tick.js:180:9)

先前的情况和记录不同。看起来向前推进了一点。

下面的日志是MongoDB上的错误。
由于未经授权,似乎在MongoDB上无法执行命令。

相关的是在MongoDB构建时指定的ROOT_USERNAME和ROOT_PASSWORD。
这一次我们尝试不指定它们并启动。

$ docker container stop rocketchat_db
$ docker container rm rocketchat_db
$ docker container rm rocketchat
$ docker container create \
  --name rocketchat_db \
  --volume=/var/data/rocketchat_db:/data/db \
  mongo:3.4.21 \
  --smallfiles \
  --wiredTigerCacheSizeGB 1.5

$ docker container create \
  --name rocketchat \
  -p 3000:3000 \
  --link rocketchat_db:db \
  -e ROOT_URL=http://192.168.10.100 \
  rocket.chat:1.1.2

$ docker container start rocketchat_db
$ docker container start rocketchat
$ docker container list --all
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                    NAMES
ada86161fc8b        rocket.chat:1.1.2   "node main.js"           37 seconds ago      Up 7 seconds                0.0.0.0:3000->3000/tcp   rocketchat
91bee011502c        mongo:3.4.21        "docker-entrypoint..."   3 minutes ago       Up 2 minutes                27017/tcp                db
555eb5e21cd6        mongo:3.4.21        "docker-entrypoint..."   52 minutes ago      Exited (0) 11 minutes ago                            rocketchat_db

我成功启动了,然后尝试从浏览器访问”http://192.168.10.100:3000″。

然而,没有收到回应。
似乎仍然存在问题。

我会检查Rocket.Chat的日志。

$ docker logs rocketchat
? server.js:207 System ? error
? +---------------------------------------------------------------------------+
? |                                SERVER ERROR                               |
? +---------------------------------------------------------------------------+
? |                                                                           |
? |  Rocket.Chat Version: 1.1.2                                               |
? |       NodeJS Version: 8.11.4 - x64                                        |
? |      MongoDB Version: 3.4.21                                              |
? |       MongoDB Engine: wiredTiger                                          |
? |             Platform: linux                                               |
? |         Process Port: 3000                                                |
? |             Site URL: http://192.168.10.100                               |
? |     ReplicaSet OpLog: Disabled                                            |
? |          Commit Hash: aece97e1a0                                          |
? |        Commit Branch: HEAD                                                |
? |                                                                           |
? |  OPLOG / REPLICASET IS REQUIRED TO RUN ROCKET.CHAT, MORE INFORMATION AT:  |
? |  https://go.rocket.chat/i/oplog-required                                  |
? |                                                                           |
? +---------------------------------------------------------------------------+

有一条很酷的日志出现了。

OPLOG / REPLICASET IS REQUIRED TO RUN ROCKET.CHAT, MORE INFORMATION AT:

这看起来很可疑。
我会检查错误对话框中指定的URL。
https://rocket.chat/docs/installation/manual-installation/mongo-replicas/

Rocket.Chat 使用 MongoDB 副本集通过 Meteor Oplog 追踪来提高性能。

似乎需要使用复制集。
通过指定 –replSet rs1 来启动 MongoDB,以复制集的形式运行。

启动MongoDB shell并初始化副本集。

需要登录MongoDB并初始化复制集。在MongoDB的手册中提到了这方面的内容。

命令的输出应该像这样:
请注意,“ok”值应该是1。任何其他值,例如93,都表示有问题。

如果ok的值变为1,听说就没问题了。

重新配置并重启Rocket.Chat服务
在配置副本集后,您必须将MONGO_OPLOG_URL环境变量添加到服务定义中,并重新启动Rocket.Chat服务器。

在准备好复制集后,需要在Rocket.Chat的环境变量中设置MONGO_OPLOG_URL。MONGO_OPLOG_URL的设置如下所示。

MONGO_OPLOG_URL=mongodb://localhost:27017/local?replSet=rs01

我们可以将localhost理解为mongoDB,命名为rocketchat_db。
当然,也可以取名为db。

首先,我们将删除Rocket.Chat和mongoDB。

$ docker container stop rocketchat
$ docker container stop rocketchat_db
$ docker container rm rocketchat
$ docker container rm rocketchat_db
$ rm -rf /var/data/rocketchat_db/*

接着启动具有复制集的DB。

$ docker container create \
  --name rocketchat_db \
  --volume=/var/data/rocketchat_db:/data/db \
  mongo:3.4.21 \
  --smallfiles \
  --wiredTigerCacheSizeGB 1.5 \
  --replSet rs1
$ docker container start rocketchat_db

在这里,我们将连接到数据库并初始化副本集。
然而,由于主机服务器上没有Mongo数据库,因此无法进行客户端连接。

由於無法避免,我們將通過docker exec連接到容器,並從容器內部連接到mongoDB。

$ docker exec -it rocketchat_db /bin/bash
root@161ebb19a7bd:/# mongo 
> rs.status()
{
        "info" : "run rs.initiate(...) if not yet done for the set",
        "ok" : 0,
        "errmsg" : "no replset config has been received",
        "code" : 94,
        "codeName" : "NotYetInitialized"
}

代号:NotYetInitialized 表示尚未初始化。
这里将初始化副本集。

> rs.initiate()
{
        "info2" : "no configuration specified. Using a default configuration for the set",
        "me" : "161ebb19a7bd:27017",
        "ok" : 1
}

根据之前的调查结果,一切都很顺利,所以看起来应该没问题。

rs1:SECONDARY> rs.status()
{
        "set" : "rs1",
        "date" : ISODate("2019-06-19T07:06:28.872Z"),
        "myState" : 1,
        "term" : NumberLong(1),
        "syncingTo" : "",
        "syncSourceHost" : "",
        "syncSourceId" : -1,
        "heartbeatIntervalMillis" : NumberLong(2000),
        "optimes" : {
                "lastCommittedOpTime" : {
                        "ts" : Timestamp(1560927987, 1),
                        "t" : NumberLong(1)
                },
                "appliedOpTime" : {
                        "ts" : Timestamp(1560927987, 1),
                        "t" : NumberLong(1)
                },
                "durableOpTime" : {
                        "ts" : Timestamp(1560927987, 1),
                        "t" : NumberLong(1)
                }
        },
        "members" : [
                {
                        "_id" : 0,
                        "name" : "161ebb19a7bd:27017",
                        "health" : 1,
                        "state" : 1,
                        "stateStr" : "PRIMARY",
                        "uptime" : 1740,
                        "optime" : {
                                "ts" : Timestamp(1560927987, 1),
                                "t" : NumberLong(1)
                        },
                        "optimeDate" : ISODate("2019-06-19T07:06:27Z"),
                        "syncingTo" : "",
                        "syncSourceHost" : "",
                        "syncSourceId" : -1,
                        "infoMessage" : "could not find member to sync from",
                        "electionTime" : Timestamp(1560927985, 2),
                        "electionDate" : ISODate("2019-06-19T07:06:25Z"),
                        "configVersion" : 1,
                        "self" : true,
                        "lastHeartbeatMessage" : ""
                }
        ],
        "ok" : 1
}
> exit
root@161ebb19a7bd:/# exit

接下来,启动Rocket.Chat。

$ docker container create \
  --name rocketchat \
  -p 3000:3000
  --link rocketchat_db:db \
  -e ROOT_URL=http://192.168.10.100 \
  -e MONGO_OPLOG_URL=mongodb://rocketchat_db:27017/local?replSet=rs1 \
  rocket.chat:1.1.2
$ docker container start rocketchat
$ docker container list --all
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES
aead98b431c5        rocket.chat:1.1.2   "node main.js"           About an hour ago   Up About an hour    0.0.0.0:3000->3000/tcp   rocketchat
9a507773cfe9        mongo:3.4.21        "docker-entrypoint..."   About an hour ago   Up About an hour    27017/tcp                rocketchat_db

我能够顺利地从浏览器进行访问。
为了保险起见,我也会检查Rocket.Chat的日志。

$ docker logs rocketchat
? +----------------------------------------------+
? |                SERVER RUNNING                |
? +----------------------------------------------+
? |                                              |
? |  Rocket.Chat Version: 1.1.2                  |
? |       NodeJS Version: 8.11.4 - x64           |
? |      MongoDB Version: 3.4.21                 |
? |       MongoDB Engine: wiredTiger             |
? |             Platform: linux                  |
? |         Process Port: 3000                   |
? |             Site URL: http://192.168.10.100  |
? |     ReplicaSet OpLog: Enabled                |
? |          Commit Hash: aece97e1a0             |
? |        Commit Branch: HEAD                   |
? |                                              |
? +----------------------------------------------+

成功启动了,没有任何问题。

广告
将在 10 秒后关闭
bannerAds