当前位置: 首页 > news >正文

wsl子系统ubuntu20.04 设置docker服务开机自启动

docker的重要性毋庸置疑。掌握虚拟化必备工具。windows台式机相信大家都有,那么开启windows的wsl子系统ubuntu来熟悉linux分布式开发就方便多了,用不着另购电脑。docker是在有限成本前提下尽可能多的尝试使用多OS、隔离物理环境影响的方便工具。下面就介绍下配置docker环境步骤。

docker安装步骤

docker安装前建议apt-get源换国内源。这个题目太多了,自己百度下。

组件安装

sudo apt-get update
sudo apt-get install docker.io

安装验证:

root@DESKTOP-UKR8O1E:~# docker version
Client: Docker Engine - CommunityVersion:           26.1.4

脚本安装

sudo curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh

根据经验最近docker.com访问困难,该脚本就另外找个地方下载。

设置Docker开机自启动

创建Docker服务文件

创建一个用于启动Docker的服务文件docker.service。
执行指令:sudo vim /etc/systemd/system/docker.service
文件内容:

[Unit]
Description=Docker Application Container Engine
Documentation=
After=network-online.target docker.socket
Wants=network-online.target[Service]
Type=notify
ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
LimitCORE=infinity
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s[Install]
WantedBy=multi-user.target

启用Docker服务

启用Docker服务并设置为开机自启动。可以使用以下命令:

sudo systemctl enable docker

启动Docker服务

service docker start

注意这里没有使用systemctl start docker。本人电脑wsl 子系统服务管理不是systemctrl,而是service.

root@DESKTOP-UKR8O1E:~# sudo systemctl daemon-reload
System has not been booted with systemd as init system (PID 1). Can't operate.
Failed to connect to bus: Host is down

验证设置

sudo systemctl is-enabled docker

关闭ubuntu, 重新进入执行docker ps, 如果有报错,说明未配置正确,重新配置。
补充说明:上述做法在电脑不重启前提下,多次进入ubuntu是有效的。但电脑重启后再进入会失效。处理方法:在/root/.bashrc末尾添加一行:

# Automatically start Docker when WSL 2 starts
if [ -z "$(pidof dockerd)" ]; thensudo service docker start
fi

相关文章:

  • 第4天:用户认证系统实现
  • 【大分享06】收、治、用、安“四管齐下”, 做好多业务系统电子文件归档与管理
  • Spire.PDF for .NET【文档操作】演示:如何删除 PDF 中的图层
  • Matlab基础篇:数据输入输出
  • NXP i.MX8系列平台开发讲解 - 3.15 Linux 之USB子系统(一)
  • 【机器学习300问】119、什么是语言模型?
  • 人工智能在气象预报领域的崛起:GraphCast引领新纪元
  • 使用 Redis + Lua 实现分布式限流
  • 如何修改jupyter notebook 默认把文件夹
  • 会声会影2024永久破解和谐版下载 包含激活码序列号
  • 深入理解RunLoop
  • 决策树算法详细介绍原理和实现
  • HarmonyOS角落里的知识—Stage模型应用程序
  • python基础1.2----爬虫基础
  • ninja构建笔记
  • 深入了解以太坊
  • [分享]iOS开发-关于在xcode中引用文件夹右边出现问号的解决办法
  • [微信小程序] 使用ES6特性Class后出现编译异常
  • 2018以太坊智能合约编程语言solidity的最佳IDEs
  • 30秒的PHP代码片段(1)数组 - Array
  • JavaScript HTML DOM
  • PHP 的 SAPI 是个什么东西
  • SpiderData 2019年2月13日 DApp数据排行榜
  • spring boot 整合mybatis 无法输出sql的问题
  • tab.js分享及浏览器兼容性问题汇总
  • 短视频宝贝=慢?阿里巴巴工程师这样秒开短视频
  • 关于 Cirru Editor 存储格式
  • 如何借助 NoSQL 提高 JPA 应用性能
  • 数据结构java版之冒泡排序及优化
  • 蚂蚁金服CTO程立:真正的技术革命才刚刚开始
  • ​Distil-Whisper:比Whisper快6倍,体积小50%的语音识别模型
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​一些不规范的GTID使用场景
  • #控制台大学课堂点名问题_课堂随机点名
  • #我与Java虚拟机的故事#连载16:打开Java世界大门的钥匙
  • (function(){})()的分步解析
  • (附源码)基于ssm的模具配件账单管理系统 毕业设计 081848
  • (深度全面解析)ChatGPT的重大更新给创业者带来了哪些红利机会
  • (十七)Flink 容错机制
  • (十五)、把自己的镜像推送到 DockerHub
  • (四)汇编语言——简单程序
  • (五)activiti-modeler 编辑器初步优化
  • (转)Oracle 9i 数据库设计指引全集(1)
  • (转载)虚函数剖析
  • .NET Core Web APi类库如何内嵌运行?
  • .NET Core 控制台程序读 appsettings.json 、注依赖、配日志、设 IOptions
  • .Net CoreRabbitMQ消息存储可靠机制
  • .NET/C# 使用 ConditionalWeakTable 附加字段(CLR 版本的附加属性,也可用用来当作弱引用字典 WeakDictionary)
  • .net和jar包windows服务部署
  • .net开发日常笔记(持续更新)
  • .NET实现之(自动更新)
  • .NET值类型变量“活”在哪?
  • .Net中的集合
  • /etc/sudoers (root权限管理)
  • @data注解_SpringBoot 使用WebSocket打造在线聊天室(基于注解)