小编ale*_*nst的帖子

在 Docker 中为 MongoDB 创建一个新用户

我正在使用默认的 MongoDB Docker 映像,并且正在尝试为数据库创建一个新用户。

我目前正在尝试这样做:

FROM docker.io/mongo:3.2

MAINTAINER <alexandernst> alexandernst@gmail.com

ADD create_ddbb.js /tmp/

RUN mongod --fork --logpath /var/log/mongodb.log \
    && sleep 5 && mongo foobar /tmp/create_ddbb.js 
Run Code Online (Sandbox Code Playgroud)

create_ddbb.js

db.createUser(
    {
      user: "*******",
      pwd: "*******************",
      roles: [
         { role: "readWrite", db: "foobar" }
      ]
    }
);
Run Code Online (Sandbox Code Playgroud)

当我构建 Dockerfile 时,我看到:

Step 4 : RUN mongod --fork --logpath /var/log/mongodb.log       && sleep 5 && mongo foobar /tmp/create_ddbb.js
 ---> Running in 58ba44d02508
about to fork child process, waiting until server is ready for connections. …
Run Code Online (Sandbox Code Playgroud)

mongodb docker

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

NGINX 默认错误页面

我正在尝试为我的整个 nginx 服务器设置一个默认的 error_page(就像所有虚拟主机一样)。

我正在尝试使用以下代码:

http {
    ...
    ...
    error_page 404 /var/www/default/404.html;
    ...
    ...
}
Run Code Online (Sandbox Code Playgroud)

另外,如果我没有明确编写另一个虚拟主机,我希望能够创建一个虚拟主机并使其使用默认的 404.html。

就像是:

server {
    ...
    server_name mydomain.com
    root /var/www/mydomain.com/;
    ...
}
Run Code Online (Sandbox Code Playgroud)

无论如何,我收到以下错误:

[error] 16842#0: *1 open() "/var/www/mydomain.com/var/www/default/404.html" failed (2: No such file or directory)
Run Code Online (Sandbox Code Playgroud)

虽然我确实理解错误,并且我确实理解它为什么会发生,但我不明白为什么我不能告诉 NGINX 使用默认的 error_page 作为绝对路径而不是将它附加到我的 vhost 的根目录。

知道如何制作吗?

问候

nginx errordocument

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

Docker 运行 bash 脚本,然后移除容器

有没有办法可以在容器内运行 bash 脚本,然后删除容器,所有内容都在一行中?该脚本应该能够写入它当前所在的文件夹。

我试过了

docker run --rm -ti ubuntu:trusty bash -c 'source runme.sh'
Run Code Online (Sandbox Code Playgroud)

但是 bash 找不到该文件,我假设是因为容器无权访问脚本所在的文件夹。

docker

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

蹩脚的 DNS 服务器

我正在尝试使用我拥有的域设置我的 BIND,并且我正在使用 dnssy.com 和 intodns.com 来检查一切是否正常,但是我在两者中都遇到了错误。错误说我的 DNS 服务器是“蹩脚的”(我不明白这是什么意思)。

我的named.conf

options {
    directory "/var/dns";
    pid-file "/var/run/named/named.pid";
    auth-nxdomain yes;
    datasize default;
    listen-on-v6 { any; };
    listen-on { 127.0.0.1; 188.165.234.51; };
    listen-on-v6 { ::1; };
    allow-recursion { 127.0.0.1; };
    allow-transfer { none; };
    allow-update { none; };
    allow-query { any; };
    allow-query-cache { any; };
    version none;
    hostname none;
    server-id none;
};
include "/var/dns/autogen-zones";
Run Code Online (Sandbox Code Playgroud)

autogen-zones 是一个自动生成的文件,其中包含以下内容:

zone "localhost" IN {
     type master;
     file "localhost.zone";
     allow-transfer { any; };
};
zone "0.0.127.in-addr.arpa" IN { …
Run Code Online (Sandbox Code Playgroud)

bind

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

@ (BIND) 中的 CNAME

我可以在我的 .zone 文件中放入这样的内容吗?

@       IN      CNAME   srvr-01.foo.bar.
Run Code Online (Sandbox Code Playgroud)

或者那是无效的?如果无效,如何将访问者重定向mydomain.com到服务器srvr-01.foo.bar?(请注意,我没有得到服务器 IP,只有域,这让我认为它可能会随机更改)

编辑:对不起,我的错。我替换NSCNAME,这正是我真正想写的。

domain-name-system bind

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

目录中的 BIND 通配符

我想把我所有的区域文件放在几个目录中(让我们坚持这样的想法,我不知道有多少目录,也不知道它们有什么名字)并使 BIND 包含它们。(不是递归的,只是第一个文件夹中的区域文件)

换句话说,这样的事情可能吗?

options {
    directory "/var/bindconf/*";
}
Run Code Online (Sandbox Code Playgroud)

具有如下文件夹结构:

/var/bindconf/folderA/my_zone_file.conf
/var/bindconf/folderB/my_zone_file_1.conf
/var/bindconf/folderB/my_zone_file_2.conf
/var/bindconf/folderC/my_zone_file_1.conf
/var/bindconf/folderC/my_zone_file_2.conf
/var/bindconf/folderC/my_zone_file_3.conf
Run Code Online (Sandbox Code Playgroud)

问候

bind

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