WSL子系统设置docker开机自启
环境说明
linux子系统:Ubuntu-20.04
PS:其他版本也适用,脚本适配自己系统即可
docker服务开机自启
- 进入linux子系统
- 执行命令创建sh脚本 vim /etc/init_myservice.sh
#启动ssh服务和docker服务
sudo service ssh restart
service docker start
- 添加可执行权限 chmod u+x init_myservice.sh
- 在windows系统桌面新建 ubuntu2004.vbs文件
Set ws = WScript.CreateObject("WScript.Shell")
ws.run "wsl -d Ubuntu-20.04 -u root /etc/init_myservice.sh", vbhide
- 在windows系统下按Windows徽标键+r,输入 shell:startup,点确定
- 把桌面新建的vbs文件拖到弹出的文件夹下
大功告成,重启电脑体验下吧
docker容器开机自启
在使用docker run 启动容器时,使用–restart=always即可
来个mysql数据库自动启动的例子
docker pull mysql
docker run --restart=always -p 33006:3306 --name mysql \
-v /usr/data/mysql/log:/var/log/mysql \
-v /usr/data/mysql/data:/var/lib/mysql \
-v /usr/data/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=123 \
-d mysql:latest \
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
mysql启动参数解释,另一篇博客有讲述,传送门
–restart参数值详细信息
- no - 容器退出时,不重启容器
- on-failure - 只有在非0状态退出时才重新启动容器
- on-failure:10 - 可以指定重新启动的最大次数
- always - 无论退出状态是如何,都重启容器
如果docker run启动容器时未指定–restart参数,可通过update命令指定
#查看容器id
docker ps -a
#为xxx容器指定参数 --restart=always
docker update --restart=always xxx