mysql
之前在使用docker部署数据库服务的时候发现在创建并启动mysql容器后很快就自动停止,后来查了一下发现以下几个原因可能导致此问题:
- docker命令:docker run -e MYSQL_ROOT_PASSWORD=qingtian -d --net=host --name mysql_lc mysql:5.7.31
因为宿主机的mysql服务是打开的,并在创建mysql容器时使用了–net=host参数导致端口冲突从而会让容器停止,查看宿主机mysql运行状态:
可通过service mysql stop命令关闭宿主机的mysql服务再启动docker的mysql容器即可。
或者删除 –net=host 参数,加入端口映射 -p 3307:3306 参数也可以。 - 在创建mysql容器时未指定mysql的密码:docker run -d --net=host --name mysql-joyoj mysql:5.7.31
需加上 -e MYSQL_ROOT_PASSWORD=password 参数设置密码。
sql server
之前部署sqlserver容器时也出现过自动停止的情况,因为用得不多只看到一种情况导致:
- 在执行docker命令:docker run -e ‘ACCEPT_EULA=Y’ -e ‘SA_PASSWORD=qingtian’ -p 1433:1433 -d mcr.microsoft.com/mssql/server:2017-latest 时会发现设置的sqlserver密码(qingtain)的格式不正确,需要大小写、数字、特殊字符这四种构成密码才行。