Mattermost docker 预览

Mattermost docker preview

我是一名 arch 新手,我一直在尝试在 docker 上安装 mattermost(slack alternative)的预览来试用。我一直在关注官方指南。

拱门

Install Docker using the following commands:

pacman -S docker
systemctl enable docker.service
systemctl start docker.service
gpasswd -a <username> docker
newgrp docker

Start Docker container:

docker run --name mattermost-preview -d --publish 8065:8065 mattermost/mattermost-preview

When Docker is done fetching the image, open http://localhost:8065/ in your browser.

很遗憾,我无法打开 localhost:8065 服务。

我已经在两个 Docker 的错误跟踪器中列出了这个问题 https://github.com/docker/docker/issues/23730

我在 ubuntu 14.04 上安装了它,但仍然遇到同样的问题。

docker 信息的输出

Containers: 3
 Running: 1
 Paused: 0
 Stopped: 2
Images: 2
Server Version: 1.11.2
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 33
 Dirperm1 Supported: false
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins: 
 Volume: local
 Network: null host bridge
Kernel Version: 3.13.0-32-generic
Operating System: Ubuntu 14.04.1 LTS
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 3.767 GiB
Name: warmachine
ID: FICU:HLW6:7J7X:NFWJ:HX27:32U4:HQZB:I2UW:K5TI:DDAB:EBC3:F2LW
Docker Root Dir: /var/lib/docker
Debug mode (client): false
Debug mode (server): false
Registry: https://index.docker.io/v1/
WARNING: No swap limit support

docker 版本

的输出
Client:
Version:      1.11.2    
API version:  1.23
Go version:   go1.5.4
Git commit:   b9f10c9
Built:        Wed Jun  1 21:47:50 2016
OS/Arch:      linux/amd64

Server:
Version:      1.11.2
API version:  1.23
Go version:   go1.5.4
Git commit:   b9f10c9
Built:        Wed Jun  1 21:47:50 2016
OS/Arch:      linux/amd64

这似乎是应用程序打包的问题。已经 reported on their github

要排除您自己的 docker 安装出现的任何问题,您始终可以使用以下内容测试端口转发:

docker run -it --rm -p 8080:80 debian /bin/sh -c "apt-get update; apt-get install -yq netcat; nc -l -p 80"

然后在另一个终端:

nc -q 1 127.0.0.1 8080 <<EOF
hello world
EOF

如果您在 docker 终端上看到 "hello world",那么您的 docker 安装没问题。

在我的例子中 mysql 在 mattermost 开始时还没有准备好。

解决方案是将官方仓库克隆到我的本地目录 > 进入目录 > 编辑 docker-entry.sh 文件并更改行sleep 20 到更高的值,例如 100。

之后执行

docker build -t somename/mattermost . docker run --name mattermost-preview -d --publish 8065:8065 somename/mattermost

如果它仍然不起作用,请将 8065:8065 部分替换为 SomeRandomPort:8065 并使用 docker 容器的不同名称执行上面的行。

感谢 https://github.com/joelnb 提供解决方案。