docker compose 传入变量到 Dockerfile

使用 docker-compose 构建镜像时,在 Dockerfile 中,经常需要外部传入的参数决定如何运行。

这时,需要在 build 区块下层加入 args

version: '3'
services:
php:
build:
context: ./php
args:
MAKEFLAGS: -j20
http_proxy: http://192.168.0.125:3128
https_proxy: http://192.168.0.125:3128

同时,需要在 Dockerfile 的 FROM 下面加入,如:

FROM registry.docker-cn.com/library/php:7.3-fpm
ARG MAKEFLAGS
ARG http_proxy
ARG https_proxy
# RUN env # 非必要,但是可以用来确定传入的变量是否正确

args 在传入 Dockerfile,自动会加到后续脚本执行的环境变量中,可以用 RUN env 确认。

更多可以参考:https://docs.docker.com/compose/compose-file/#argsRead the rest

Ubuntu18.04 安装 Docker

移除已经安装的 Docker

sudo apt-get remove docker docker-engine docker.io

安装依赖的库

sudo apt-get install  software-properties-common ca-certificates apt-transport-https

导入 Docker 官方 gpg key

sudo curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

添加 Docker 官方软件库源

sudo add-apt-repository  "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"

更新所有软件库源

sudo apt-get update

安装 Docker

sudo apt-get install docker-ce

后台运行 Docker

sudo systemctl start docker

开机自动启动 Docker

sudo systemctl enable docker

查看 Docker 服务… Read the rest