相关文章推荐
睿智的伤疤  ·  sp_columns ...·  3 月前    · 
失恋的瀑布  ·  seaborn scatter plot ...·  1 年前    · 
魁梧的筷子  ·  Python File seek() 方法 ...·  1 年前    · 
image: "webapp:${TAG}"

2 通过environment设置,这种方法适用于正在运行的容器里,调用特定变量,可登陆容器输入env命令查看,例如 docker run -e VARIABLE ...

environment: - DEBUG=1

3 可以通过env_file传入多个变量,例如 docker run --env-file=FILE ...

env_file: - web-variables.env

4 通过ARG命令传入,

docker-compose

1 像 docker run -e 一样,docker-compose也可使用 docker-compose run -e

docker-compose run -e DEBUG=1 web python console.py

也可以传入shell里的值,而不用先赋值

docker-compose run -e DEBUG web python console.py

容器中DEBUG变量的值取自运行Compose的shell中相同变量的值
docker-compose run用法

2 通过.env文件传入
可以设置docker-compose文件默认读取的变量配置文件.env

$ cat .env
TAG=v1.5
$ cat docker-compose.yml
version: '3'
services:
    image: "webapp:${TAG}"

当运行docker-compose up命令时,web服务使用镜像webapp:v1.5,之前可以通过docker-compose config命令确认变量是否正确

变量配置文件读取顺序:

Compose file
Shell environment variables
Environment file
Dockerfile
Variable is not defined

3 运行docker-compose build命令时,通过–build-arg variable传入参数
以下是简单例子,docker build 也可以通过此方法传入:

1 导入运行PHP用户的UID为系统环境变量,变量名为PHPID
2 在PHP的dockerfile里添加 ARG PHPID
3 sudo -E docker-compose build --build-arg PHPID php # 构建php服务
4 sudo -E docker-compose up -d #创建容器

注意:如果是root可以不加-E,如果是普通用户sudo要加上

仅当没有用于环境或env_file的Docker Compose条目时,才能在Dockerfile中设置任何ARG或ENV设置

Dockerfile1 使用系统环境变量,例如docker run -e VARIABLE=VALUE ...web: image: "webapp:${TAG}"2 通过environment设置,这种方法适用于正在运行的容器里,调用特定变量,可登陆容器输入env命令查看,例如docker run -e VARIABLE ...web: environment: - D...
文章目录方式一:在Dockerfile中设置环境变量方式二:在docker-compose.yml中设置环境变量方式三:结合Dockerfiledocker-compose.yml和.env设置环境变量 方式一:在Dockerfile中设置环境变量 ENV <KEY> <VALUE> 1.必须写死.不灵活 2.只能在构建镜像的时候设置的环境变量 方式二:在docke...
volumes: - /data/jenkins/:/var/jenkins_home - /var/run/docker.sock:/var/run/docker.sock - /usr/bin/docker:/usr/bin/docker - /usr/lib/x86_64-linux-gnu/libltdl.so.7:/usr/lib/x86 使用的是github的源基本都是超时,此时使用: curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose 记得修改权限,否则会报错: sudo chmod +x /usr/local/bin/docker-compose 最后查看版本: docker-compose --version 安装docker-compose "registry-mirrors": ["http://hub-mirror.c.163.com"], "insecure-registries":["router.default.svc.cluster.local:5000","172.30.155.5:5000"] /etc/sysconfig/docker # /et... #进入上述目录,对文件重命名,然后赋予执行权限 mv docker-compose-Linux-x86_64 docker-compose sudo chmod +x docker-compose #查看docker-compose版本号 docker-compose --version sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 请注意,此处的版本号可能会有所不同,您可以在https://github.com/docker/compose/releases页面上查找最新版本。 3. 接下来,将下载的文件设置为可执行文件: sudo chmod +x /usr/local/bin/docker-compose 4. 最后,使用以下命令验证docker-compose版本是否已更新: docker-compose --version 如果一切正常,您应该会看到新版本的docker-compose信息。 希望这可以帮助您更新docker-compose版本。 [debug] error converting YAML to JSON: yaml: line 72: did not find expected '-' indicator 13206 [debug] error converting YAML to JSON: yaml: line 72: did not find expected '-' indicator ZHU-LIC: 帅,太对了太对了,感谢 安装apr-util 执行make命令时报错的解决方法 感谢大佬!正好出现了这个错误,用了这个方法就成功了 Nginx配置文件语法高亮方法 我来烤烤你: 感谢 ,centos7 实测也可以用 [debug] error converting YAML to JSON: yaml: line 72: did not find expected '-' indicator 小鲍侃java: 给大佬递茶,望有空互粉互访点赞表情包