我是一名新手,我一直试图在docker上安装mattermost(slack alternative)的预览版以试用它。我一直在关注官方指南。
拱
import com.google.gson.Gson;
import com.google.gson.JsonObject;
import com.google.gson.JsonParser;
...
String json =
"{\n" +
"\"source\": \"somedatabasename\",\n" +
"\"lisofobjects\": [{\n" +
" \"data\": {\n" +
" \"starttime\": \"145756767377\",\n" +
" \"age\": \"20\",\n" +
" \"name\": \"xyz\"\n" +
" }\n" +
"}]" +
"}";
JsonParser parser = new JsonParser();
JsonObject rootObject = parser.parse(json).getAsJsonObject();
JsonObject firstData = rootObject.getAsJsonArray("lisofobjects")
.get(0).getAsJsonObject().getAsJsonObject("data");
firstData.remove("age");
firstData.addProperty("age", "abc");
String modifiedJson = new Gson().toJson(rootObject);
很遗憾,我无法打开localhost:8065服务。
我在Docker的错误跟踪器中列出了此问题 https://github.com/docker/docker/issues/23730
我在ubuntu 14.04上安装了它,但仍遇到同样的问题。
docker info的输出
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.
docker version
的输出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
答案 0 :(得分:2)
这似乎是应用程序打包的问题。这是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安装就可以了。
答案 1 :(得分:1)
在我的情况下,mysterm在mattermost启动时还没有准备好。
解决方案是将官方仓库克隆到我的本地目录&gt;进入目录&gt;修改 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解决方案。