WSL子系统设置docker开机自启

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

你可能感兴趣的:(docker,docker,linux,ubuntu,mysql)