为避免输入过多的命令,本项目提供了 命令行 工具 lnmp-docker
来简化操作:
各种场景和架构中一键启动
便捷生成 NGINX
APACHE
配置文件
例如 lnmp-docker up | down
对应着 docker compose up | down
可以在 lnmp-docker-custom-script
或 lnmp-docker-custom-script.ps1
(Windows) 中编写自定义脚本。
例如: 你需要在执行 lnmp-docker up
命令前执行一些操作那么可以编写 __lnmp_custom_pre_up
函数,命令后执行一些操作那么可以编写 __lnmp_custom_post_up
函数。
设置环境变量 LNMP_PATH
为本项目的绝对路径(下面以 /data/lnmp
为例,实际请替换为你自己的路径),并加入到 PATH
,这样你就可以在任意目录使用本项目的 CLI。
$ vi ~/.bash_profile
export LNMP_PATH=/data/lnmp
export PATH=$LNMP_PATH:$LNMP_PATH/bin:$PATH
$ sudo ln -s $LNMP_PATH/scripts/cli/completion/bash/lnmp-docker /etc/bash_completion.d/lnmp-docker
$ sudo ln -s $LNMP_PATH/scripts/cli/completion/bash/lnmp-docker /usr/local/etc/bash_completion.d/lnmp-docker
$ set -Ux LNMP_PATH /data/lnmp
$ ln -s $LNMP_PATH/scripts/cli/completion/fish/lnmp-docker.fish ~/.config/fish/completions/
删除环境变量
$ set -Ue LNMP_PATH
$ vi ~/.zshrc
export LNMP_PATH=/data/lnmp
export PATH=$LNMP_PATH:$LNMP_PATH/bin:$PATH
请查看 项目初始化过程。
使用 docker compose
来启动、停止、销毁容器的参数分别是 up -d
stop
down
,通过 -f
来加载 docker-compose.yml
(可以任意命名),本项目的 CLI 就是对以上一些命令的封装。
场景 | CLI | 原始命令 |
---|---|---|
开发环境 | $ ./lnmp-docker up |
docker compose -f docker-lnmp.yml -f docker-lnmp.override.yml up -d |
生产环境 | $ ./lnmp-docker swarm-deploy |
docker stack -c docker-production.yml lnmp |
docker-lnmp.override.yaml
是为了重写docker-lnmp.yaml
,执行docker compose up -d
会默认加载该文件。
你可以使用 config
命令查看最终的 docker compose
配置文件。
我就是不想使用你提供的
lnmp-docker
CLI
,我就要使用docker compose
命令,怎们办?
本项目支持生成标准的 docker-compose.yml
文件,执行以下命令即可。
注意: 每次修改 .env 文件,必须重新执行此命令
$ ./lnmp-docker config > docker-compose.yml
之后就可以使用 docker compose
命令
$ docker compose up -d $(./lnmp-docker services)
$ docker compose down
.env.${LNMP_ENV}
文件原理:使用 compose 1.25.0 新增的
--env-file PATH
选项
假设你需要在 development(开发)
production(生产)
两个环境中使用本项目
那么在 development
环境中,新增 .env.development
文件(内容参照 .env.example
),并设置环境变量 LNMP_ENV=development
$ export LNMP_ENV=development
# windows powershell
# $env:LNMP_ENV="development"
$ ./lnmp-docker
production
环境同理,不再赘述。
注意,本项目不会自动生成
.env.${LNMP_ENV}
文件,如果找不到.env.${LNMP_ENV}
文件,将使用.env
文件。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。