【问题标题】:Starting docker with powershell dev script使用 powershell 开发脚本启动 docker
【发布时间】:2019-06-16 23:02:51
【问题描述】:

我正在从头开始做一个 docker 项目,并遵循一个教程(我正在关注 Django2 WebDevelopment Cookbook)。我遇到了一个部分,我不知道如何从 Bash 转换为 Powershell。我的/bin/dev.ps1 中有以下脚本

#!/usr/bin/env bash
# bin/dev
# environment variables to be defined externally for security
# - MYSQL_USER
# - MYSQL_PASSWORD
# - MYSQL_ROOT_PASSWORD
DOMAIN=myproject.local
DJANGO_USE_DEBUG=1 \
DJANGO_USE_DEBUG_TOOLBAR=1 \
SITE_HOST="$DOMAIN" \
MEDIA_HOST="media.$DOMAIN" \
STATIC_HOST="static.$DOMAIN" \
MYSQL_HOST="localhost" \
MYSQL_DATABASE="myproject_db" \
  docker-compose $*

我已将文件编辑为这样,因为上述内容不适用于 Windows:

#!/usr/bin/env bash
# bin/dev
# environment variables to be defined externally for security
# - MYSQL_USER
# - MYSQL_PASSWORD
# - MYSQL_ROOT_PASSWORD
$DOMAIN="myproject.local"
$DJANGO_USE_DEBUG=1 
$DJANGO_USE_DEBUG_TOOLBAR=1 
$SITE_HOST="$DOMAIN" 
$MEDIA_HOST="media.$DOMAIN" 
$STATIC_HOST="static.$DOMAIN" 
$MYSQL_HOST="localhost" 
$MYSQL_DATABASE="myproject_db"
  docker-compose

现在,当您运行 docker-compose 时,它会为我提供标准输出,而无需任何参数。我也在尝试从我的终端运行以下命令:

MYSQL_USER=myproject_user \
> MYSQL_PASSWORD=pass1234 \
> ./bin/dev up -d

显然这在 Windows 中不起作用,它甚至给我一个错误,它找不到 MYSQL_USER 命令或任何东西。如何编辑 PS 文件以便在 Windows 上使用它?以及如何运行它以便它也将参数传递给文件?

编辑:如果这在 Windows 和 Linux 中不起作用,我很好,我只需要知道它是否/为什么不能。

【问题讨论】:

    标签: mysql django docker


    【解决方案1】:

    好的,经过一些调试,我将 powershell 脚本更改为 .bat 文件。内容如下:

    ::!/usr/bin/env bash
    :: bin/dev
    :: environment variables to be defined externally for security
    :: - MYSQL_USER
    :: - MYSQL_PASSWORD
    :: - MYSQL_ROOT_PASSWORD
    SET DOMAIN=myproject.local
    
    SET DJANGO_USE_DEBUG=1 
    SET DJANGO_USE_DEBUG_TOOLBAR=1 
    SET SITE_HOST=%DOMAIN% 
    SET MEDIA_HOST=media.%DOMAIN% 
    SET STATIC_HOST=static.%DOMAIN% 
    SET MYSQL_HOST=localhost
    SET MYSQL_DATABASE=myproject_db
      docker-compose %*
    

    我可以按照教程中的描述正常运行文件;我需要设置MYSQL_USERMYSQL_PASSWORD 变量,我这样做是这样的:

    SET MYSQL_USER=myproject_user & SET MYSQL_PASSWORD & dev up -d
    

    【讨论】:

      猜你喜欢
      • 2010-12-20
      • 1970-01-01
      • 2012-11-04
      • 2017-02-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-09-17
      相关资源
      最近更新 更多