我正在尝试在 Linux 主机上创建多个 SQL Server 容器。我面临的问题是,在我创建第一个容器后,之后创建的每个其他容器都以代码 1 退出。我使用的是与第一个容器相同的 Docker 映像,它没有任何问题。我此刻陷入了困境,这就是向docker logs
我展示的。
下面用于创建第一个docker容器。
sudo docker container run -d -i -t \
--publish 1434:1433 \
--volume mssqlsystem:/var/opt/mssql \
--volume mssqluser:/var/opt/sqlserver \
--env ACCEPT_EULA=Y \
--env MSSQL_SA_PASSWORD=**** \
--env MSSQL_DATA_DIR=/var/opt/sqlserver \
--env MSSQL_LOG_DIR=/var/opt/sqlserver \
--name sql2 \
mcr.microsoft.com/mssql/server:latest
以下命令用于创建已经退出的第二个容器。
sudo docker container run -d -i -t \
--publish 1435:1433 \
--volume mssqlsystem:/var/opt/mssql \
--volume mssqluser:/var/opt/sqlserver \
--env ACCEPT_EULA=Y \
--env MSSQL_SA_PASSWORD=**** \
--env MSSQL_DATA_DIR=/var/opt/sqlserver \
--env MSSQL_LOG_DIR=/var/opt/sqlserver \
--name sql3 \
mcr.microsoft.com/mssql/server:latest
Docker 日志显示容器 2 出现以下错误:
*SQL Server 2019 will run as non-root by default.
This container is running as user mssql.
To learn more visit https://go.microsoft.com/fwlink/?linkid=2099216.
2021-02-11 22:38:47.98 Server Setup step is copying system data file 'C:\templatedata\master.mdf' to '/var/opt/mssql/data/master.mdf'.
2021-02-11 22:38:48.10 Server ERROR: Setup FAILED copying system data file 'C:\templatedata\master.mdf' to '/var/opt/mssql/data/master.mdf': 2(The system cannot find the file specified.)
ERROR: BootstrapSystemDataDirectories() failure (HRESULT 0x80070002)
sqladmin@vmsqlubuntu01:~$ sudo docker logs -f 213fb583fd80
SQL Server 2019 will run as non-root by default.
This container is running as user mssql.
To learn more visit https://go.microsoft.com/fwlink/?linkid=2099216.
2021-02-11 22:24:51.37 Server Setup step is copying system data file 'C:\templatedata\master.mdf' to '/var/opt/mssql/data/master.mdf'.
2021-02-11 22:24:51.50 Server ERROR: Setup FAILED copying system data file 'C:\templatedata\master.mdf' to '/var/opt/mssql/data/master.mdf': 2(The system cannot find the file specified.)*
这里可能出了什么问题?Linux 主机在 Azure 上具有 8 GB 内存和 2vCPU。这是一台 POC 主机,因此配置保持最低限度。限制第一台 Docker 主机的内存会有所帮助吗?