问题标签 [docker]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1679 浏览

node.js - Docker 远程 API 和绑定

我正在尝试通过 nodejs docker.io 库使用 Docker 的远程 API,但我找不到正确的语法如何绑定目录。

我目前正在使用此代码:

它启动容器,但是当我检查它时,它在 Volumes 中没有显示任何内容。

Docker 的 Remote API 文档在语法方面缺乏,所以我希望这里有人知道正确的语法。

0 投票
5 回答
82202 浏览

docker - 如何为 Docker 制作自己的基础镜像?

根据Docker 文档,要构建自己的镜像,您必须始终使用FROM指令指定基础镜像。

显然, Docker 索引中有很多图像可供选择,但如果我想构建自己的呢?那可能吗?

如果我理解正确,该图像base是基于 Ubuntu 构建的,并且我想尝试使用 Debian 图像。另外,我想真正了解 Docker 是如何工作的,而base图像对我来说仍然是一个黑匣子。


编辑: 关于创建基础镜像的官方文档

0 投票
10 回答
110913 浏览

scale - 如何在生产中扩展 Docker 容器

所以我最近发现了这个很棒的工具,它说

Docker 是一个开源项目,可以轻松地从任何应用程序创建轻量级、可移植、自给自足的容器。开发人员在笔记本电脑上构建和测试的同一个容器可以在生产环境、虚拟机、裸机、OpenStack 集群、公共云等上大规模运行。

假设我有一个运行 Nginx 的 docker 映像,并且一个网站连接到外部数据库。如何在生产中扩展容器?

0 投票
1 回答
3166 浏览

docker - 我如何在 docker 容器中挂载 /dev/shm

我创建了一个 Docker 容器,但现在我需要/dev/shm安装tmpfs在容器内部。

如果我手动更改config.lxcDocker 文件夹中的文件并取消注释挂载/dev/shm行,Docker 似乎挂起。

此外,该文件会不时重新创建。

我需要知道在哪里可以更改创建 lxc 配置的 Docker 配置文件。

0 投票
7 回答
33730 浏览

rabbitmq - 从一个 Docker 容器连接到另一个

我想在一个 docker 容器中运行 rabbitmq-server 并使用 celery ( http://celeryproject.org/ )从另一个容器连接到它

我使用以下命令运行rabbitmq ...

并通过运行芹菜

当我尝试做非常基本的教程来验证http://docs.celeryproject.org/en/latest/getting-started/first-steps-with-celery.html上的连接时

我收到连接被拒绝错误:

消费者:无法连接到 amqp://guest@127.0.0.1:5672//:[Errno 111] 连接被拒绝。

当我将 rabbitmq 安装在与 celery 相同的容器上时,它工作正常。

我需要做什么才能让容器相互交互?

0 投票
1 回答
472 浏览

perl - 如何在 Dockerfile 中运行 pleenv/rbenv?

我想plenv在 docker 映像中使用 perl 5.16。apt-get只得到 5.14。 plenv将安装 perl $HOME/.plenv/versions/5.16.2/,我需要在其中添加一些行$HOME/.profile

然后运行plenv shell 5.16.2切换到新版本。

但是在 Dockerfile 中,我需要source $HOME/.profile && plenv shell 5.16.2在运行一些 perl 命令之前编写每一行。docker 没有 exec $HOME/.profile,它是一个无登录外壳吗?

虽然我可以在 every 之前编写这样的命令,但我RUN怎样才能做到这一点CMD

docker可以通过一些设置解决这个问题吗?

0 投票
1 回答
569 浏览

docker - docker : 提交似乎没有通过 passwd 命令持久化更改

...更改密码。

在另一个外壳中:

然后我启动容器:

然后我尝试登录:

较早使用“提交”密码,但失败(密码或用户名无效)...

为了确保提交正确完成,我做了:

...在提交之前的容器内。

然后运行:

所以提交正在做某事,只是不坚持 passwd 命令......

版本:

dhrp/sshd 是 docker 索引中的任何内容....

0 投票
2 回答
6009 浏览

mongodb - 如何在容器重启之间持久化 MongoDB 数据?

使用 docker 运行容器化的 MongoDB 非常容易。虽然每次启动新的 mongodb 容器时,都会得到新的空数据库。

为了在容器重新启动之间保留数据库内容,我应该怎么做?我尝试使用 -v 选项将外部目录绑定到容器,但没有成功。

0 投票
3 回答
13510 浏览

docker - 如何设置 Docker LXC 容器的 MAC 地址?

每当我运行一个 docker 容器时,我看到它使用一个随机的 MAC 地址:

如何为容器运行设置特定的 MAC 地址?

我可以让多个容器同时使用相同的 MAC 地址运行吗?这些容器不需要访问外部网络,也不需要相互通信。

0 投票
15 回答
302116 浏览

docker - 如何在 Docker 中处理持久性存储(例如数据库)

人们如何处理 Docker 容器的持久存储?

我目前正在使用这种方法:构建图像,例如为 PostgreSQL,然后启动容器

恕我直言,这有一个缺点,我绝不能(偶然)删除容器“c0dbc34fd631”。

另一个想法是将主机卷“-v”挂载到容器中,但是,容器中的用户ID不一定与主机的用户 ID匹配,然后权限可能会混乱。

注意:--volumes-from 'cryptic_id'您也可以使用--volumes-from my-data-containerwheremy-data-container是您分配给仅数据容器的名称,例如docker run --name my-data-container ...(请参阅接受的答案)