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命令传入,
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中设置环境变量方式三:结合Dockerfile、docker-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配置文件语法高亮方法
我来烤烤你:
[debug] error converting YAML to JSON: yaml: line 72: did not find expected '-' indicator
小鲍侃java: