我是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'。
答案 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
(其中ID
是docker ps
的容器ID)。