问题标签 [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.
node.js - Docker 远程 API 和绑定
我正在尝试通过 nodejs docker.io 库使用 Docker 的远程 API,但我找不到正确的语法如何绑定目录。
我目前正在使用此代码:
它启动容器,但是当我检查它时,它在 Volumes 中没有显示任何内容。
Docker 的 Remote API 文档在语法方面缺乏,所以我希望这里有人知道正确的语法。
docker - 如何为 Docker 制作自己的基础镜像?
根据Docker 文档,要构建自己的镜像,您必须始终使用FROM
指令指定基础镜像。
显然, Docker 索引中有很多图像可供选择,但如果我想构建自己的呢?那可能吗?
如果我理解正确,该图像base
是基于 Ubuntu 构建的,并且我想尝试使用 Debian 图像。另外,我想真正了解 Docker 是如何工作的,而base
图像对我来说仍然是一个黑匣子。
编辑: 关于创建基础镜像的官方文档
scale - 如何在生产中扩展 Docker 容器
所以我最近发现了这个很棒的工具,它说
Docker 是一个开源项目,可以轻松地从任何应用程序创建轻量级、可移植、自给自足的容器。开发人员在笔记本电脑上构建和测试的同一个容器可以在生产环境、虚拟机、裸机、OpenStack 集群、公共云等上大规模运行。
假设我有一个运行 Nginx 的 docker 映像,并且一个网站连接到外部数据库。如何在生产中扩展容器?
docker - 我如何在 docker 容器中挂载 /dev/shm
我创建了一个 Docker 容器,但现在我需要/dev/shm
安装tmpfs
在容器内部。
如果我手动更改config.lxc
Docker 文件夹中的文件并取消注释挂载/dev/shm
行,Docker 似乎挂起。
此外,该文件会不时重新创建。
我需要知道在哪里可以更改创建 lxc 配置的 Docker 配置文件。
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 相同的容器上时,它工作正常。
我需要做什么才能让容器相互交互?
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可以通过一些设置解决这个问题吗?
docker - docker : 提交似乎没有通过 passwd 命令持久化更改
...更改密码。
在另一个外壳中:
然后我启动容器:
然后我尝试登录:
较早使用“提交”密码,但失败(密码或用户名无效)...
为了确保提交正确完成,我做了:
...在提交之前的容器内。
然后运行:
所以提交正在做某事,只是不坚持 passwd 命令......
版本:
dhrp/sshd 是 docker 索引中的任何内容....
mongodb - 如何在容器重启之间持久化 MongoDB 数据?
使用 docker 运行容器化的 MongoDB 非常容易。虽然每次启动新的 mongodb 容器时,都会得到新的空数据库。
为了在容器重新启动之间保留数据库内容,我应该怎么做?我尝试使用 -v 选项将外部目录绑定到容器,但没有成功。
docker - 如何设置 Docker LXC 容器的 MAC 地址?
每当我运行一个 docker 容器时,我看到它使用一个随机的 MAC 地址:
如何为容器运行设置特定的 MAC 地址?
我可以让多个容器同时使用相同的 MAC 地址运行吗?这些容器不需要访问外部网络,也不需要相互通信。
docker - 如何在 Docker 中处理持久性存储(例如数据库)
人们如何处理 Docker 容器的持久存储?
我目前正在使用这种方法:构建图像,例如为 PostgreSQL,然后启动容器
恕我直言,这有一个缺点,我绝不能(偶然)删除容器“c0dbc34fd631”。
另一个想法是将主机卷“-v”挂载到容器中,但是,容器中的用户ID不一定与主机的用户 ID匹配,然后权限可能会混乱。
注意:--volumes-from 'cryptic_id'
您也可以使用--volumes-from my-data-container
wheremy-data-container
是您分配给仅数据容器的名称,例如docker run --name my-data-container ...
(请参阅接受的答案)