Mattermost泊坞窗预览

我是一个新手,我一直试图在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 

这似乎是与应用程序的打包问题。 据报道,他们的github

要排除任何与您自己的docker安装有关的问题,您总是可以使用类似的方式testing端口转发:

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

然后在另一个terminal:

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

如果您在dockerterminal上看到“hello world”,那么您的docker安装就可以了。

在我的情况下,在mattermost启动的时候,mysql还没有准备好。

解决办法是克隆官方repo到我的本地目录>进入目录>编辑docker-entry.sh文件,并将sleep 20线sleep 20更改为更高的值,如100。

之后执行

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

如果它仍然不能正常工作,请用SomeRandomPort:8065replace8065:8065部分, SomeRandomPort:8065容器的不同名称的上面执行。

感谢https://github.com/joelnb解决scheme&#x3002;