小编Mat*_*att的帖子

为什么Docker运行这么多进程来将端口映射到我的应用程序?

我有一个在容器中运行的应用程序,需要将一系列端口映射到它.

docker run -p 2000-3000:2000-3000 myapp
Run Code Online (Sandbox Code Playgroud)

当我运行这个docker命令时,我的开发vm会停止运行.

然后查看进程,docker-proxy每个端口都有一个运行

$ ps -ef 
...
root     19796  7835  0 03:31 ?        00:00:00 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 4000 -container-ip 172.17.0.4 -container-port 3000
root     19804  7835  0 03:31 ?        00:00:00 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 3999 -container-ip 172.17.0.4 -container-port 2999
root     19812  7835  0 03:31 ?        00:00:00 docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 3998 -container-ip 172.17.0.4 -container-port 2998
...

$ ps -ef | grep -c docker-proxy
1003
Run Code Online (Sandbox Code Playgroud)

他们都是docker守护进程的孩子

root@default-docker:~# pstree …
Run Code Online (Sandbox Code Playgroud)

docker

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

使用docker conatiner中的systemctl启动服务

在我的Dockerfile中,我正在尝试安装多个服务,并希望在启动容器时自动启动它们.其中一个服务是mysql,当我启动容器时,我没有看到mysql服务启动.当我尝试手动启动时,我收到错误: Failed to get D-Bus connection: Operation not permitted

Dockerfile:

FROM centos:7

RUN yum -y install mariadb mariadb-server

COPY start.sh start.sh

CMD ["/bin/bash", "start.sh"]
Run Code Online (Sandbox Code Playgroud)

我的start.sh文件:

service mariadb start
Run Code Online (Sandbox Code Playgroud)

Docker构建:

docker build --tag="pbellamk/mariadb" .
Run Code Online (Sandbox Code Playgroud)

Docker运行:

docker run -it -d --privileged=true pbellamk/mariadb bash
Run Code Online (Sandbox Code Playgroud)

我检查了centos:systemd图像,这也没有用.如何使用systemctl/service命令启动的服务启动容器.

containers docker

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

使用knife更新chef中的运行列表

我有食谱,其中包含食谱清单.使用厨师命令行工具从cookbook添加一些特定食谱(不是全部)的命令是knife什么?

我知道将整个食谱添加到运行列表的命令knife node run_list add server name recipe[cookbook name].

ruby chef-infra knife

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

Docker - 超出最大深度

所以我使用这个例子:

https://github.com/mcmoe/mssqldocker

为了创建SQL Server映像并使用数据加载它.我有几个sql脚本,我运行容器时运行.

但是,我在构建映像时开始出现此错误:

Step 7/9 : ENTRYPOINT ./entrypoint.sh
 ---> Running in c8c654f6a630
max depth exceeded
Run Code Online (Sandbox Code Playgroud)

我不知道如何解决这个问题,我重新启动了docker甚至更新了它.我读了一些关于125层的东西?任何人都可以解释这个原因和潜在的解决方案吗?

我发现这个命令运行:

docker history microsoft/mssql-server-linux:latest | wc -l
 312
Run Code Online (Sandbox Code Playgroud)

我的docker-compose yml:

version: "3"
services:
  mssql:
      build: .
      image: 'microsoft/mssql-server-linux'
      ports:
          - '1433:1433'
      environment:
          - ACCEPT_EULA=Y
          - SA_PASSWORD=Abcgfgh123!
      volumes:
          - db_volume:/var/lib/mssql/data
volumes:
  db_volume:
Run Code Online (Sandbox Code Playgroud)

docker docker-compose

8
推荐指数
3
解决办法
5463
查看次数

将war文件图像放入docker容器是一个好习惯吗?

我是码头工人的新手.我有一个Spring-boot应用程序,我想使用docker部署和运行它.将war文件图像放入容器中是不是一个好习惯,或者最好将jar文件放入容器中?为什么?

PS一旦我读到"制作罐子,而不是战争"更好:-)但不知道背后的原因.

docker spring-boot dockerfile

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

Docker postgres 无效的主检查点记录

我一直在尝试让 postgres 在 Docker(在 Windows 上)中运行并具有持久数据存储,并认为我终于拥有了它,但现在当我尝试启动容器时,出现以下错误:

LOG:  invalid primary checkpoint record
LOG:  invalid secondary checkpoint record
PANIC:  could not locate a valid checkpoint record
Run Code Online (Sandbox Code Playgroud)

这是我启动并运行容器的开始:

docker volume create ct_data
docker run --name postgres_ct -v ct_data:/var/lib/postgresql/data -p 5432:5432 postgres
Run Code Online (Sandbox Code Playgroud)

然后,我使用 pgAdmin 连接到它,创建一个新表,并使用恢复选项导入 postgres 转储文件。数据加载没有问题。我使用与上面相同的卷启动了第二个容器,但使用不同的名称和端口号来测试它,并且我能够连接,因此我将其关闭。

Now, an hour later, I found my original container was stopped automatically so I tried to start it back up and got the errors above. This is my first attempt at using Docker, so it's very possible …

postgresql docker

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

在docker中使用back-sql进行Slapd只检索一个对象类的属性映射

当我尝试使用SLAPD在Docker中设置LDAP服务器并使用示例数据库将其连接到PostgreSQL Docker时,仅加载第一个对象类的属性映射.

生成以下日志:

ldaptest_ldap_1      | 57938399 backsql_load_schema_map(): oc_query "SELECT id,name,keytbl,keycol,create_proc,delete_proc,expect_return FROM ldap_oc_mappings"
ldaptest_ldap_1      | 57938399 objectClass: id="1" name="inetOrgPerson" keytbl="persons" keycol="id" create_proc="SELECT create_person()" create_keyval="" delete_proc="DELETE FROM persons WHERE id=?" expect_return="0"create_hint=""
ldaptest_ldap_1      | 57938399 backsql_load_schema_map(): objectClass "inetOrgPerson":
ldaptest_ldap_1      |     keytbl="persons" keycol="id"
ldaptest_ldap_1      | 57938399     create_proc="SELECT create_person()"
ldaptest_ldap_1      | 57938399     delete_proc="DELETE FROM persons WHERE id=?"
ldaptest_ldap_1      | 57938399     expect_return: add=0, del=0; attributes:
ldaptest_ldap_1      | 57938399 objectClass: id="2" name="document" keytbl="documents" keycol="id" create_proc="SELECT create_doc()" create_keyval="" delete_proc="DELETE FROM documents WHERE id=?" expect_return="0"create_hint=""
ldaptest_ldap_1      | 57938399 backsql_load_schema_map(): …
Run Code Online (Sandbox Code Playgroud)

postgresql openldap docker

6
推荐指数
0
解决办法
150
查看次数

有没有办法获得docker stats的快照?

默认情况下docker stats产生流输出。有没有办法获得统计输出的单个快照?

docker

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

python selenium:move_to_element() 不起作用

我正在尝试将鼠标悬停在可见元素上,然后单击隐藏的子菜单项。move_to_element()似乎不适用于 ChromeDriver。但是,运行代码没有任何例外,只是操作没有发生。

我也尝试过sleep()在操作之间并webDriverWait显示运行代码超时。我将 chrome 56.0 与 python 2.7 和 selenium 3.0.2 一起使用。

以下是 HTML 代码

 <a class="dropdown-toggle" href="about-us.html" data-toggle="dropdown" role="button" aria-expanded="false">
 About
 <i class="caret"></i>
 </a>   

<li>
<a href="about.html">Introduction</a>
</li> 
Run Code Online (Sandbox Code Playgroud)

以下是我的测试用例的一部分

from selenium import webdriver

from selenium.webdriver.common.action_chains import ActionChains


   mainmenu = driver.find_element_by_xpath("path_to_about_element")
   submenu =driver.find_element_by_xpath("path_to_introduction_element")
   action=ActionChains(driver)
   action.move_to_element(mainmenu)        
   action.move_to_element(submenu)        
   action.click().perform()
Run Code Online (Sandbox Code Playgroud)

python selenium selenium-chromedriver

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

猫鼬复合索引创建字段顺序

我对mongodb中的复合索引创建有疑问:说我想创建此复合索引:

cSchema.index({account:1, authorization: 1, c_type: 1});
Run Code Online (Sandbox Code Playgroud)

问题是,javascript不能保证字典的顺序,所以我不能确定复合索引是否符合我想要的顺序。

我如何确保它确实{account:1, authorization:1, c_type:1}按顺序排列?

谢谢 !

mongoose mongodb node.js mongoose-schema

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