Docker Container在运行后立即退出

时间:2017-08-16 08:02:46

标签: 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  

尝试类似的SO链接link

$ docker run -t -d --name microsoft/mssql-server-linux 0adcdf822722

收到以下错误,

Unable to find image '0adcdf822722:latest' locally
docker: Error response from daemon: repository 0adcdf822722 not found: does not exist or no pull access.

当试图杀死引用link1

的过程时
Kill: illegal process id: PID

我正在使用mac机器。提前谢谢。

编辑: 运行日志后运行命令,如

 docker logs 0adcdf822722

显示

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.

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

4 个答案:

答案 0 :(得分:2)

这对我有用:

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 

使用(")代替(')。在Windows 10上运行Docker。

答案 1 :(得分:1)

您正在运行的命令中存在拼写错误:

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Technocrat123’ -p 1433:1433 -d microsoft/mssql-server-linux  

' Technocrat123'应该是' Technocrat123' 。错字最后是:'vs'。

正确的命令是:

docker run -e 'ACCEPT_EULA=Y' -e 'SA_PASSWORD=Technocrat123' -p 1433:1433 -d microsoft/mssql-server-linux  

答案 2 :(得分:1)

我在Mac上运行Docker并尝试安装sql-server。最初,我粘贴了此处提供的命令 - https://docs.microsoft.com/en-us/sql/linux/quickstart-install-connect-docker更改密码。然后我会尝试运行docker镜像。这给了我所说的错误“这是一个评估版......”。在上面的链接上运行命令后,我执行了附加步骤。我再次运行它作为docker run -e'ACCEPT_EULA = Y'-e'MSSQL_SA_PASSWORD = Very_StrongPassword'-p 1401:1433 microsoft / mssql-server-linux:2017-latest。这启动了sql-server的安装。这种安装大约需要20-30分钟。然后可以使用泊坞窗图像。

答案 3 :(得分:1)

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

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

相关问题