Docker:通过秘密设置MSSQL密码

问题描述 投票:0回答:1

我试图从一个秘密中设置我的MSSQL密码,但是我不知道为什么我似乎没有正确地将我的秘密设置为一个密码。

这是我的YAML文件:

version: '3.7'

services:
  notguiridb:
    image: mcr.microsoft.com/mssql/server:2019-latest
    environment:
      ACCEPT_EULA: "Y"
      MSSQL_SA_PASSWORD_FILE: /run/secrets/mysecret4
    secrets:
      - source: mysecret4
        target: mysecret4

secrets:
  mysecret4:
    external: true

然后,我检查了这个秘密是我所希望的那个,但是即使这样做也表明登录失败,所以我怀疑环境变量MSSQL_SA_PASSWORD_FILE确实无效。

$ docker exec -it 5fd bash
$ mssql@5fd8471a22c4:/$ cat /run/secrets/mysecret4
"Pa55W0rd!1234*"

$ docker exec -it 5fd /opt/mssql-tools/bin/sqlcmd -U sa -P Pa55w0rd!1234*
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login failed for user 'sa'..
$ docker exec -it 5fd /opt/mssql-tools/bin/sqlcmd -U sa -P "Pa55w0rd!1234*"
Sqlcmd: Error: Microsoft ODBC Driver 17 for SQL Server : Login failed for user 'sa'..
sql-server docker docker-swarm docker-secrets
1个回答
0
投票
$ mssql@5fd8471a22c4:/$ cat /run/secrets/mysecret4
"Pa55W0rd!1234*"

删除文件中的引号。在命令中显示双引号的字符串时,它们将被删除。

© www.soinside.com 2019 - 2024. All rights reserved.