相关疑难解决方法(0)

在数字海洋上使用mokodb与dokku部署node.js应用程序

我正在尝试使用mokodb在数字海洋上使用dokku部署Node.js应用程序.不幸的是,我有一些问题让节点应用程序连接到mongodb.

到目前为止我做了什么.0.我在git repo中有一个node.js应用程序1.在数字海洋中创建了dokku实例(在ubuntu 14.04上运行)2.我创建了一个dokku-mongodb-plugin(参见https://github.com/jeffutter/dokku -mongodb-plugin):按照那里的git clone etc安装说明进行操作.3.将我的应用程序推送到数字海洋服务器(git push -u production master)4.尝试创建一个mongodb进程:(在服务器上):dokku mongodb:创建testapp(testapp是我的应用程序的名称)5.运行我的app:dokku运行testapp节点app.js

这会导致连接错误(在底部)

我测试过:dokku mongodb:list

并且它没有返回任何内容,这让我觉得插件可能存在问题?

否则,我怀疑这可能是因为mongodb在与标准localhost不同的ip /进程下运行.

无论如何,我不确定问题是什么.任何帮助,将不胜感激.

干杯,迈克

vents.js:72投掷; //未处理的'错误'事件^错误:无法连接到[localhost:27017]为null.(/app/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/server.js:546:74)在emit(events.js:106:17)处于null.(/app/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection_pool.js:150:15)在Socket的emit(events.js:98:17)处.(/app/node_modules/mongoose/node_modules/mongodb/lib/mongodb/connection/connection.js:533:10)在Socket.emit(events.js:95:17)的net.js:440:14处理过程. _tickCallback(node.js:419:13)

mongodb node.js digital-ocean dokku

5
推荐指数
1
解决办法
3045
查看次数

Docker容器IP地址

我在 Mac OSX 上使用 Docker。

运行容器后,我检查 IP 地址。

docker inspect container-name | grep IP
"LinkLocalIPv6Address": "",
    "LinkLocalIPv6PrefixLen": 0,
    "SecondaryIPAddresses": null,
    "SecondaryIPv6Addresses": null,
    "GlobalIPv6Address": "",
    "GlobalIPv6PrefixLen": 0,
    "IPAddress": "172.17.0.5",
    "IPPrefixLen": 16,
    "IPv6Gateway": "",
            "IPAddress": "172.17.0.5",
            "IPPrefixLen": 16,
            "IPv6Gateway": "",
            "GlobalIPv6Address": "",
            "GlobalIPv6PrefixLen": 0, 
Run Code Online (Sandbox Code Playgroud)

现在当我去172.17.0.5时,没有任何反应。

然后用另一种方式检查IP地址。

docker-machine ip default
192.168.99.102
Run Code Online (Sandbox Code Playgroud)

192.168.99.102 作品。

现在我的问题是为什么它输出不同的 IP 地址而第一个不起作用。

docker

5
推荐指数
1
解决办法
1万
查看次数

如何通过ip地址访问docker服务

我是新手,docker我可能遗漏了很多东西,尽管我浏览了基本文档并且我正在尝试部署一个简单的 Spring Boot API

我已将API部署为docker-spring-boot .jar文件,然后docker使用以下命令安装并推送它:

  • sudo docker login
  • sudo docker tag docker-spring-boot phillalexakis/myfirstapi:01
  • sudo docker push phillalexakis/myfirstapi:01

然后我用 docker命令启动了APIrun

sudo docker run -p 7777:8085 phillalexakis/myfirstapi:01

当我访问localhost:7777/hello 时,我得到了想要的响应

这是我的 Dockerfile

FROM openjdk:8
ADD target/docker-spring-boot.jar docker-spring-boot.jar
EXPOSE 8085
ENTRYPOINT ["java","-jar","docker-spring-boot.jar"]
Run Code Online (Sandbox Code Playgroud)

基于这个回答的帖子这个命令来获取ip address

docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' container_name_or_id
Run Code Online (Sandbox Code Playgroud)

所以,我运行它,container_name_or_id = phillalexakis/myfirstapi:01我收到这个错误

Template parsing error: template: :1:24: executing "" at <.NetworkSettings.Networks>: map has …
Run Code Online (Sandbox Code Playgroud)

docker spring-boot

4
推荐指数
1
解决办法
1135
查看次数

如何从主机获取所有 Docker 容器的 IP 地址?

(类似于如何从主机获取 Docker 容器的 IP 地址? ,但略有不同,因为我们对这里的所有容器感兴趣)

我遇到了与我们内部服务器的 IP 冲突,该服务器与 Docker 容器发生冲突。我已经重新配置/etc/docker/daemon.json,将设置设置default-address-pools为另一个网络。但是我现在如何找到七个 Docker 容器中的哪一个正在使用这个特定的 IP 网络呢?

networking docker

3
推荐指数
1
解决办法
5376
查看次数

docker:尝试连接到已发布端口时表示连接被拒绝

我是码头工人的新手。我正在创建一个“Hello, World”示例。我想做的就是在 docker 中启动 Apache,然后从主机查看默认网站。

Dockerfile

FROM centos:latest

RUN yum install epel-release -y

RUN yum install wget -y

RUN yum install httpd -y

EXPOSE 80

ENTRYPOINT ["/usr/sbin/httpd", "-D", "FOREGROUND"]
Run Code Online (Sandbox Code Playgroud)

然后我构建它: > docker build .

然后我给它贴上标签:

docker tag 17283f566320 my:apache

然后我运行它:

> docker run -p 80:9191 my:apache
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using 172.17.0.2. Set the 'ServerName' directive globally to suppress this message
Run Code Online (Sandbox Code Playgroud)

然后就运行了......

在另一个终端窗口中,我尝试发出命令curl来查看默认网站。

> curl -XGET http://0.0.0.0:9191
curl: (7) Failed …
Run Code Online (Sandbox Code Playgroud)

apache centos docker centos7

2
推荐指数
1
解决办法
3万
查看次数

无法从同一网络中的另一个 docker 容器解析设置的主机名

我有 db 和 server 容器,它们都在同一个网络中运行。可以通过其容器 ID ping db 主机没有问题。当我手动为 db 容器设置主机名 ( -h myname) 时,它产生了效果($ hostname返回设置主机),但我无法从同一网络中的另一个容器 ping 那个主机名。容器 ID 仍然可以 ping 通。虽然它在 docker compose 中没有问题。我错过了什么?

docker

2
推荐指数
1
解决办法
4987
查看次数

撰写文件 Docker 中的模板语法

我们可以在 Docker 撰写文件 YML 中使用模板吗?

例如,我想要部署带有复制的服务,并且我想要为容器设置名称,例如:-servicename-_-replicId-

service templates docker

1
推荐指数
1
解决办法
2万
查看次数

从另一个容器访问一个容器中的MySQL

我正在尝试以下方法:

  • 在一个带有暴露端口(例如4200)的容器中旋转MySQL 5.5。
  • 在一个带有裸露端口(例如4300)的容器中旋转MySQL 5.7。
  • 旋转golang容器来运行我的应用。

我的想法是我需要针对不同的数据库版本运行测试。

为此,我需要能够与golang容器中的每个sql容器进行对话。

我尝试过的

方法1-使用--link:

MYSQL容器:

docker run --name mysql55c -p 127.0.0.1:4200:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.5
Run Code Online (Sandbox Code Playgroud)

高朗应用程式容器

docker run -w /go/src/app -it --link mysql55c -d --name golangapp -v $(pwd):/go/src/app golang bash -c "go get github.com/go-sql-driver/mysql;go build main.go; go test -v
--config ./config.ini"
Run Code Online (Sandbox Code Playgroud)

方法2-使用--net(网桥网络和主机): 创建网桥nw

码头工人网络

MYSQL容器:

docker run --name mysql55c --net mynw -p 127.0.0.1:4200:3306 -e MYSQL_ROOT_PASSWORD=root -d mysql:5.5
Run Code Online (Sandbox Code Playgroud)

高朗应用程式容器

docker run -w /go/src/app -it --net mynw -d --name golangapp -v $(pwd):/go/src/app golang bash -c "go …
Run Code Online (Sandbox Code Playgroud)

containers jenkins docker dockerhub devops

1
推荐指数
2
解决办法
161
查看次数