Docker Container 运行后立即退出

use*_*433 4 sql-server macos docker

我是一个 Docker 新手,在检查了类似的 SO 问题但没有成功后试图解决这个问题。所以请不要将其标记为重复项。

问题 :

容器总是在创建和运行后立即退出。

我尝试使用命令运行 mssql 实例

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Technocrat123’ -p 1433:1433 -d microsoft/mssql-server-linux  
Run Code Online (Sandbox Code Playgroud)

当尝试作为类似的 SO 链接链接时

$ docker run -t -d --name microsoft/mssql-server-linux 0adcdf822722
Run Code Online (Sandbox Code Playgroud)

得到以下错误,

Unable to find image '0adcdf822722:latest' locally
docker: Error response from daemon: repository 0adcdf822722 not found: does not exist or no pull access.
Run Code Online (Sandbox Code Playgroud)

当试图杀死引用link1的进程时

Kill: illegal process id: PID
Run Code Online (Sandbox Code Playgroud)

我用的是mac机器。提前致谢。

编辑:在运行命令后运行日志后

 docker logs 0adcdf822722
Run Code Online (Sandbox Code Playgroud)

表明

This is an evaluation version.  There are [160] days left in the evaluation period.
The SQL Server End-User License Agreement (EULA) must be accepted before SQL
Server can start. The license terms for this product can be downloaded from
http://go.microsoft.com/fwlink/?LinkId=746388.

You can accept the EULA by specifying the --accept-eula command line option,
setting the ACCEPT_EULA environment variable, or using the mssql-conf tool.
Run Code Online (Sandbox Code Playgroud)

但是我已经在运行命令中设置了“ACCEPT_EULA=Y”。

ken*_*orb 11

您的密码(例如Technocrat123)不符合复杂性要求。因此,请尝试添加非字母数字字符,例如感叹号 ( !)。其次,使用双引号而不是单引号。

要检查错误,请运行:(docker logs ID其中ID是来自 的容器 ID docker ps)。


Mr.*_* MX 6

这对我有用:

docker run -e "ACCEPT_EULA=Y" -e "SA_PASSWORD=Sprpwd1234" --name sql_server_dev -p 1433:1433 -d store/microsoft/mssql-server-linux:2017-GA 
Run Code Online (Sandbox Code Playgroud)

使用 (") 而不是 (')。在 Windows 10 上运行 Docker。


yam*_*enk 1

您正在运行的命令中有一个拼写错误:

\n\n
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Technocrat123\xe2\x80\x99 -p 1433:1433 -d microsoft/mssql-server-linux  \n
Run Code Online (Sandbox Code Playgroud)\n\n

'Technocrat123\xe2\x80\x99应该是'Technocrat123'。拼写错误在最后:\xe2\x80\x99 vs '.

\n\n

正确的命令是:

\n\n
docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Technocrat123' -p 1433:1433 -d microsoft/mssql-server-linux  \n
Run Code Online (Sandbox Code Playgroud)\n