Yse*_*ser 5 environment-variables vagrant docker
我想用Vagrant Docker配置器更改docker容器的环境变量.我怎样才能做到这一点?
示例Vagrantfile:
config.vm.define 'container' do |ws|
ws.vm.hostname = 'container'
ws.ssh.port = 23
ws.ssh.guest_port = 23
ws.vm.provider "docker" do |d|
d.image = "name/image"
d.env = {
"SSH_PORT" => 23
}
d.vagrant_machine = "host"
d.vagrant_vagrantfile = "../Vagrantfile"
d.force_host_vm = true
d.has_ssh = true
end
end
Run Code Online (Sandbox Code Playgroud)
示例Dockerfile:
FROM centos:centos7
ENV PORT 22
#...
RUN echo "Port $PORT" >> /somefile.txt
#...
EXPOSE $PORT
Run Code Online (Sandbox Code Playgroud)
它总是以PORT = 22而不是23结束.可能的解决方法也d.create_args = ["-e", "PORT=23"]失败了.
资料来源: Vagrant Docker Docker环境变量
ENV PORT 22当您在 中定义时Dockerfile,它将按原样定义,而不是从构建环境继承。如果您想覆盖它,您可以在运行容器时执行此操作:docker run --rm -it -e PORT=23 <your image> env | grep PORT。
| 归档时间: |
|
| 查看次数: |
2408 次 |
| 最近记录: |