草庐IT

dockerfiles

全部标签

docker - 如何处理 Dockerfile 中的特定主机名,如 -h 选项

我使用CentOS7作为dockerdaemonhost和centos:6Dockerimages。我想安装一些需要可解析主机名作为非环回地址的软件。如果我使用-h选项运行docker镜像,例如dockerrun-i-t-hmyhostcentos:6/bin/bash然后我就可以安装软件了,因为容器中的/etc/hosts自动配置好了[root@myhost/]#cat/etc/hosts172.17.0.7myhost127.0.0.1localhost[root@myhost/]#pingmyhostPINGmyhost(172.17.0.7)56(84)bytesofdata.

docker - 如何处理 Dockerfile 中的特定主机名,如 -h 选项

我使用CentOS7作为dockerdaemonhost和centos:6Dockerimages。我想安装一些需要可解析主机名作为非环回地址的软件。如果我使用-h选项运行docker镜像,例如dockerrun-i-t-hmyhostcentos:6/bin/bash然后我就可以安装软件了,因为容器中的/etc/hosts自动配置好了[root@myhost/]#cat/etc/hosts172.17.0.7myhost127.0.0.1localhost[root@myhost/]#pingmyhostPINGmyhost(172.17.0.7)56(84)bytesofdata.

bash - Dockerfile 覆盖 ENV 变量

我有一个Dockerfile,我想使用默认值配置API。FROMsocialengine/nginx-spaENVAPI_URLlocalhost:6007因此,当我运行此图像时,我将能够使用以下内容覆盖localhost:6007:dockerrun-eAPI_URL=production.com:6007ui这不起作用,我找不到有关如何执行此操作的明确说明。有什么建议吗? 最佳答案 您所描述的应该可以正常工作。给定:$catDockerfileFROMsocialengine/nginx-spaENVAPI_URLlocalho

bash - Dockerfile 覆盖 ENV 变量

我有一个Dockerfile,我想使用默认值配置API。FROMsocialengine/nginx-spaENVAPI_URLlocalhost:6007因此,当我运行此图像时,我将能够使用以下内容覆盖localhost:6007:dockerrun-eAPI_URL=production.com:6007ui这不起作用,我找不到有关如何执行此操作的明确说明。有什么建议吗? 最佳答案 您所描述的应该可以正常工作。给定:$catDockerfileFROMsocialengine/nginx-spaENVAPI_URLlocalho

docker - 从 docker-compose.yml 文件将变量传递给 Dockerfile

我有几个docker-compose.yml文件,我想使用相同的Dockerfile,但略有不同。所以我想将一个参数传递给该Dockerfile,以便我可以根据变量设置的任何值做一些稍微不同的事情。到目前为止我已经尝试过什么docker-compose-A.yml文件version:'2'services:django:build:context:.dockerfile:./docker/Dockerfileargs:-SOMETHING=foodocker-compose-B.yml文件version:'2'services:django:build:context:.dockerf

docker - 从 docker-compose.yml 文件将变量传递给 Dockerfile

我有几个docker-compose.yml文件,我想使用相同的Dockerfile,但略有不同。所以我想将一个参数传递给该Dockerfile,以便我可以根据变量设置的任何值做一些稍微不同的事情。到目前为止我已经尝试过什么docker-compose-A.yml文件version:'2'services:django:build:context:.dockerfile:./docker/Dockerfileargs:-SOMETHING=foodocker-compose-B.yml文件version:'2'services:django:build:context:.dockerf

docker - docker-compose.yml 上的 "ports"是否与 Dockerfile 上的 EXPOSE 效果相同?

是否在docker-compose.yml上声明:ports:-"3306:3306"在Dockerfile上:EXPOSE3306效果一样吗? 最佳答案 否:EXPOSE只打开容器中的端口,使其可以被其他容器访问。“3306:3306”将在主机上发布端口,使主机可以访问相同的端口。见DockerfileEXPOSE:TheEXPOSEinstructioninformsDockerthatthecontainerlistensonthespecifiednetworkportsatruntime.EXPOSEdoesnotmake

docker - docker-compose.yml 上的 "ports"是否与 Dockerfile 上的 EXPOSE 效果相同?

是否在docker-compose.yml上声明:ports:-"3306:3306"在Dockerfile上:EXPOSE3306效果一样吗? 最佳答案 否:EXPOSE只打开容器中的端口,使其可以被其他容器访问。“3306:3306”将在主机上发布端口,使主机可以访问相同的端口。见DockerfileEXPOSE:TheEXPOSEinstructioninformsDockerthatthecontainerlistensonthespecifiednetworkportsatruntime.EXPOSEdoesnotmake

Dockerfile:将 RUN 指令输出到变量中

我正在写一个dockerfile,想把“ls”命令的输出放到一个变量中,如下所示:$file=ls/tmp/dir这里,“dir”里面只有一个文件。dockerfile中的以下RUN指令不起作用RUN$file=ls/tmp/dir 最佳答案 您不能保存变量以供以后在其他Dockerfile命令中使用(如果这是您的意图)。这是因为每个RUN都发生在一个新的shell中。但是,如果您只想捕获ls的输出,您应该能够在一个RUN复合命令中完成。例如:RUNfile="$(ls-1/tmp/dir)"&&echo$file或者只是使用sub

Dockerfile:将 RUN 指令输出到变量中

我正在写一个dockerfile,想把“ls”命令的输出放到一个变量中,如下所示:$file=ls/tmp/dir这里,“dir”里面只有一个文件。dockerfile中的以下RUN指令不起作用RUN$file=ls/tmp/dir 最佳答案 您不能保存变量以供以后在其他Dockerfile命令中使用(如果这是您的意图)。这是因为每个RUN都发生在一个新的shell中。但是,如果您只想捕获ls的输出,您应该能够在一个RUN复合命令中完成。例如:RUNfile="$(ls-1/tmp/dir)"&&echo$file或者只是使用sub