问题标签 [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.
docker - Dockerfile 还是注册表?哪种分配策略是首选?
如果您使用 Dockerfile 创建服务,您是否更喜欢使用 Dockerfile 构建映像并将其推送到注册表 - 而不是分发 Dockerfile(和 repo)以供人们构建他们的映像?
哪些用例支持 Dockerfile+repo 分发,哪些用例支持 Registry 分发?
vagrant - 如何从另一台机器连接到 Docker API?
我正在尝试使用 Docker API 从另一台机器连接到 docker 守护进程。我能够成功执行此命令:
但不是当我使用真实 IP 地址时:
为什么我使用非本地 IP 时无法连接?
我在 Vagrantfile 中使用带有以下内容的 Vagrant VM:config.vm.network :private_network, ip: "192.168.2.123"
以下是iptables:
linux - 在 Docker 容器中自动启动服务
我正在用 docker 做一些初步测试。目前我有我的图像,我可以运行一些容器,其中:
我这样做docker attach container_id
并启动 apache2 服务。
然后从主控制台我将容器提交到图像。
退出容器后,如果我尝试启动容器或尝试从提交的映像运行一个新容器,服务总是停止。
如何在服务启动的情况下创建或重新启动一个容器,例如 apache?
docker - 从源代码构建 Docker 失败
从 dotcloud/docker git clone 之后
谁能告诉我我应该看什么。我已经安装了 Go 1.1。我想从 src 构建 docker 以从 lxc.cap.drop 中删除 sys_rawio 的原因。我需要让 CUDA 与 lxc 容器一起工作。我能够编译 cuda 代码,但在运行它时。我不断收到显示不允许操作的驱动程序相关错误。
authentication - 使用 docker 设置 redis
我已经根据以下说明设置了一个基本的 redis 映像:http: //docs.docker.io/en/latest/examples/running_redis_service/
通过我的快照,我还使用 requirepass 编辑了 redis.conf文件。
我的服务器运行良好,我可以使用 redis-cli 远程访问它,但是身份验证不起作用。我想知道是否没有使用配置文件,但是当我尝试使用以下命令启动容器时:
docker run -d -p 6379:6379 jwarzech/redis /usr/bin/redis-server /etc/redis/redis.conf
容器立即崩溃。
ruby-on-rails - 运行 Rails 并将其部署到 Docker 容器
我完全是 linux 容器的菜鸟,并且花了一些时间学习Docker,请原谅我对这个问题的困惑。目前,我通过 capistrano 部署了一个生产中的 Rails 应用程序。我的云服务器由 Debian Wheezy 发行版上的 Opscode Chef 维护。对于开发,我有一个预装了应用程序和服务的 Vagrant VM。
如果我要使用 Docker,我的应用程序会放在哪里?容器还是主机?我将如何部署(生产)和共享目录(开发)?我可以使用 docker 在同一台服务器上运行我所有的附加服务,即 memcache、redis、postgresql 等吗?我也许可以想象 Docker 的潜力,但很难看到它的实际用途。
似乎容器是未来的一部分。对于从虚拟化转换的人有什么指导吗?
ssh-keys - Using SSH keys inside docker container
I have an app that executes various fun stuff with Git (like running git clone & git push) and I'm trying to docker-ize it.
I'm running into an issue though where I need to be able to add an SSH key to the container for the container 'user' to use.
I tried copying it into /root/.ssh/
, changing $HOME
, creating a git ssh wrapper, and still no luck.
Here is the Dockerfile for reference:
app.js
runs the git commands like git pull
centos - 无法在 Docker 上访问 Centos sshd
我读了一篇文章SSH Daemon Service。但我想在 Centos6.4 上运行。所以我从官方的centos图像设置几乎相同的指令。然后我连接到centos sshd 服务器,但连接立即关闭。这是消息。
为什么我无法连接centos sshd 服务器?
architecture - 从容器 (docker) 中发布您的应用程序
周末我在docker 的 IRC上问了这个问题,但在我想通答案之前不得不离开:
如果我有许多在容器中运行的应用程序(让我们暂时假设它们都在相同的物理硬件上运行,但不一定是这种情况)并且我希望它们中的每一个都能够找到每个其他自动。
使用某种注册表(例如etcd或 DNS-SD/Bonjour),您可以宣布您的服务和任何相关细节,并让其他应用程序了解它们并相应地路由流量。
这里的问题是,虽然应用程序可以知道它在容器中服务于哪个主机名/端口,但这不一定是它可以访问的端口或地址。有两个信息需要连接:
- 可以访问服务的位置;从容器外部访问
- 服务做什么(版本号、服务类型);可从容器内部访问
您如何建议我通过容器屏障获取此信息?
- 我可以通过 TCP 向容器公开 docker,因此应用程序可以查询它的显示位置,但这似乎违反了关注点分离。
- 我可以在我的容器中打开一个文件/端口,在容器启动后主机系统会查询该文件/端口以准备发布,但这感觉有点像我要重新发明 WSDL。
关于我应该如何解决这个问题的任何想法或指导?
docker - Docker.IO 文件系统一致性
我创建了一个 docker 容器,然后我创建了一个文件并退出了容器。
当我重新启动容器时:
docker run -i -t ubuntu /bin/bash
该文件无处可寻。我检查/var/lib/docker/
并创建了另一个文件夹,其中包含我的文件。我知道这与Union FS
.
- 如何使用其中的文件再次启动同一个容器?
- 如何导出带有文件更改的容器?