我有一个在容器中运行的应用程序,需要将一系列端口映射到它.
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) 在我的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命令启动的服务启动容器.
我有食谱,其中包含食谱清单.使用厨师命令行工具从cookbook添加一些特定食谱(不是全部)的命令是knife
什么?
我知道将整个食谱添加到运行列表的命令knife node run_list add server name recipe[cookbook name]
.
所以我使用这个例子:
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) 我是码头工人的新手.我有一个Spring-boot应用程序,我想使用docker部署和运行它.将war文件图像放入容器中是不是一个好习惯,或者最好将jar文件放入容器中?为什么?
PS一旦我读到"制作罐子,而不是战争"更好:-)但不知道背后的原因.
我一直在尝试让 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 …
当我尝试使用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) 我正在尝试将鼠标悬停在可见元素上,然后单击隐藏的子菜单项。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) 我对mongodb中的复合索引创建有疑问:说我想创建此复合索引:
cSchema.index({account:1, authorization: 1, c_type: 1});
Run Code Online (Sandbox Code Playgroud)
问题是,javascript不能保证字典的顺序,所以我不能确定复合索引是否符合我想要的顺序。
我如何确保它确实{account:1, authorization:1, c_type:1}
按顺序排列?
谢谢 !
docker ×7
postgresql ×2
chef-infra ×1
containers ×1
dockerfile ×1
knife ×1
mongodb ×1
mongoose ×1
node.js ×1
openldap ×1
python ×1
ruby ×1
selenium ×1
spring-boot ×1