WSL子系统设置docker开机自启

本文介绍了如何在WSL子系统(Ubuntu-20.04)中设置Docker服务开机自启,并通过修改脚本和配置启动参数,确保Docker容器(如MySQL)在开机时自动启动。主要步骤包括创建Linux系统的初始化脚本、将脚本加入Windows启动项,以及使用`--restart=always`参数确保容器自启。

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

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

开发板推荐:天空星STM32F407VET6开发板

超高性价比 STM32主控 | 超高主频 | 一板兼容百芯 | 比赛神器 | 沉金彩色丝印

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值