Cal*_*ice 5 variables gitlab docker cicd
我正在尝试在 docker 容器中设置一些资源限制。我可以将以下值添加到 docker-compose.yml 文件中以设置 docker 资源限制;
resources:
limits:
cpus: '2'
memory: 4GB
reservations:
cpus: '1'
memory: 4GB
Run Code Online (Sandbox Code Playgroud)
我如何通过 gitlab 管道将它们传递给正在构建的容器,但将它们设置为变量?
我能够通过添加来覆盖 java 堆大小;
java_xmx=${JAVA_XMX_OVERRIDE}
和价值
JAVA_XMX_OVERRIDE: "-Xmx2048m"
我如何对资源限制做同样的事情?
谢谢
您可以在 docker compose 中使用变量,您可以通过启动命令传播这些变量。
撰写.yaml:
version: '3.9'
services:
httpd:
container_name: httpd-test
image: httpd
deploy:
resources:
limits:
memory: ${MEMORY}
Run Code Online (Sandbox Code Playgroud)
启动容器:
$ MEMORY=60M docker-compose up -d
$ docker stats
CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
ace0d6d638e1 httpd-test 0.00% 26.86MiB / 60MiB 44.77% 4.3kB / 0B 0B / 0B 82
Run Code Online (Sandbox Code Playgroud)
您应该能够在 gitlab 管道中定义环境变量:
variables:
MEMORY: 60M
Run Code Online (Sandbox Code Playgroud)