Questions tagged «docker»

Docker是构建和运行容器的工具。接受有关Dockerfile,操作和架构的问题。有关在生产环境中运行docker的问题可能会在ServerFault(https://serverfault.com/)上找到更好的响应。docker标签很少单独使用,通常与docker-compose和kubernetes等其他标签搭配使用。

5
为什么chown在Dockerfile中不起作用?
我的Dockerfile创建一个目录,将其chown,然后再列出该目录。该目录仍归root用户所有。这是为什么? 这是Dockerfile: FROM ubuntu:precise RUN useradd -d /home/testuser -m -s /bin/bash testuser RUN mkdir -p /var/local/testrunner/logs VOLUME ["/var/local/testrunner/logs"] RUN grep testuser /etc/passwd RUN grep root /etc/passwd RUN chown -R testuser:testuser /var/local/testrunner/logs RUN ls -ld /var/local/testrunner/logs 这是“ docker build”的输出: Sending build context to Docker daemon 10.24 kB Sending build context to …
84 docker  chown 

3
Docker和Python virtualenv有什么区别?
据我对Docker的了解,它是用于虚拟环境的工具。用他们的术语来说,它叫做“容器化”。这或多或少是Python的virtualenv所做的。但是,您可以在Docker中使用virtualenv 。那么,它是虚拟环境内部的虚拟环境吗?我对这甚至如何工作感到困惑,所以有人可以澄清一下吗?

6
Kubernetes相当于Docker中的env文件
背景: 当前,我们将Docker和Docker Compose用于我们的服务。我们已将不同环境的配置外部化为文件,这些文件定义了应用程序读取的环境变量。例如一个prod.env文件: ENV_VAR_ONE=Something Prod ENV_VAR_TWO=Something else Prod 和一个test.env文件: ENV_VAR_ONE=Something Test ENV_VAR_TWO=Something else Test 因此,我们可以在启动容器时简单地使用prod.envortest.env文件: docker run --env-file prod.env <image> 然后,我们的应用程序根据中定义的环境变量选择其配置prod.env。 问题: 有没有一种方法可以从Kubernetes中的文件提供环境变量(例如在定义Pod时),而不是像这样对它们进行硬编码: apiVersion:v1 种类:豆荚 元数据: 标签: 上下文:docker-k8s-lab 名称:mysql-pod 名称:mysql-pod 规格: 容器: -- 环境: -- 名称:MYSQL_USER 值:mysql -- 名称:MYSQL_PASSWORD 值:mysql -- 名称:MYSQL_DATABASE 值:样品 -- 名称:MYSQL_ROOT_PASSWORD 值:超级秘密 图片:“ mysql:latest” 名称:mysql 端口: …

3
Docker分离模式
Docker世界中的分离模式是什么?我读了这篇文章 Link,但没有确切解释分离模式的含义。
84 docker 



3
将虚拟主机分配给Docker端口
我设置了一个通配符DNS,以便对自定义域(* .foo)的所有Web请求都映射到Docker主机的IP地址。如果我有多个运行Apache(或Nginx)实例的容器,则每个容器会将Apache端口(80)映射到某个外部入站端口。 我想做的是向容器-1.foo发送请求,该容器已经通过我的自定义DNS服务器映射到正确的(Docker主机的)IP地址,但是将默认端口80请求代理到正确的外部Docker端口,以便来自指定容器的正确Apache实例能够基于自定义域进行响应。同样,container-2.foo将代理第二个容器的apache,依此类推。 是否有一个预先构建的解决方案,是在Docker主机上运行Nginx代理的最佳选择,还是我应该编写一个具有管理Docker容器潜力的node.js代理(通过Web启动/停止/重新启动) ), 要么...?我有什么选择可以使使用Docker容器更像是自然事件,而不是带有多余端口和容器摆弄的东西?
83 nginx  proxy  dns  docker 

4
在CMD中使用环境变量
我可以在Dockerfile的CMD节中使用环境变量吗? 我想做这样的事情: CMD ["myserver", "--arg=$ARG", "--memcache=$MEMCACHE_11211_TCP_ADDR:$MEMCACHE_11211_TCP_PORT"] 其中$ MEMCACHE_11211_TCP_ *将通过包含docker run命令的--link参数自动设置。用户可以在运行时配置$ ARG,也许可以通过“ -e”参数进行配置? 这似乎对我不起作用,例如,它实际上是通过字符串“ $ ARG”传递的。

3
cgroup和名称空间之间的区别
我最近开始学习docker,似乎大部分繁重的工作都是由Linux内核使用名称空间和cgroups完成的。 我感到困惑的一些事情是: 命名空间和cgroup有什么区别?他们解决的用例是什么? 在这些基础之上,docker在其上实现了什么? 我想知道这些功能的内部以及如何实现。
83 linux  docker  cgroups 



15
如何获得对私有docker-registry的远程访问?
我正在尝试使用从https://github.com/docker/docker-registry拍摄的图像来设置私有Docker注册表 只需运行: docker run -p 5000:5000 registry 我只能从本地主机从该存储库拉入/推送到该存储库,但是如果我尝试从另一台计算机(使用同一LAN上的私有地址)访问它,则会失败并显示错误消息: *2014/11/03 09:49:04 Error: Invalid registry endpoint https ://10.0.0.26:5000/v1/': Get https:// 10.0.0.26:5000/v1/_ping: Forbidden. If this private registry supports only HTTP or HTTPS with an unknown CA certificate, please add `--insecure-registry 10.0.0.26:5000` to the daemon's arguments. In the case of HTTPS, if you have …

5
如何检测Docker是否以编程方式成功运行?
我正在编写一个非常简单的bash脚本,以快速检查我的容器仍在构建并正确启动,并且其中的应用程序能够响应请求。 有时会docker run失败,例如因为我尝试将容器绑定到的端口已分配。但是当发生这种情况时docker run,退出代码仍为0,因此我无法使用退出代码。如何以编程方式检查容器是否已正确启动? 我正在考虑的解决方案是: 解析输出中的错误 docker ps 查看容器是否正在运行 但是这些似乎都有些过分和丑陋。我是否缺少更好的方法来检查是否docker run成功?
82 bash  docker 

7
如何SSH到docker-machine VirtualBox实例?
docker-machine版本0.2.0 docker版本1.6.2 我正在使用docker-machine使用VirtualBox创建计算机。一切正常,但我想使用ssh进入机器本身,但没有找到执行此操作的说明。我可以连接到ssh端口: ssh $(docker-machine ip dev) 但是我不知道要使用什么用户名/密码/身份文件。

3
如何在主机上为docker-compose.yml中的命名卷设置路径
下面的示例创建名为volume的dbdata,并在db服务中对其进行引用: version: '2' services: db: image: mysql volumes: - dbdata:/var/lib/mysql volumes: dbdata: driver: local (来自https://stackoverflow.com/a/35675553/4291814) 我可以看到该卷的默认路径为: /var/lib/docker/volumes/<project_name>_dbdata 我的问题是如何在主机上为该dbdata卷配置路径?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.