wsl 可以安装docker么
发布时间 - 2021-12-08 00:00:00 点击率:次wsl可以安装docker,其安装方法:1、安装并配置wsl;2、在官网下载安装docker for windows;3、通过pip来安装docker-compose即可。
本文操作环境:Ubuntu18.06系统、Docker-CE版、Dell G3电脑。
wsl 可以安装docker么?
wsl 下安装docker
docker for windows本身其实是可以直接用的,但是仍然有很多不足,比如说:权限问题、没有docker.sock文件、文件编码问题等。而win10自带的wsl可以非常完美地解决这些问题。
安装wsl
首先在 程序和功能->启用和关闭windows功能中打开适用于Linux的Windows子系统
然后打开微软应用商店,直接搜索Ubuntu,选择18.06版本的ubuntu安装
wsl配置
首先配置阿里云镜像,vim /etc/apt/sources.list
deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse
然后更新源
apt update
默认情况下,windows的目录会自动挂载(mount)到wsl中的/mnt目录下,但是这样会导致后面的docker的相对路径问题。所以修改配置文件 /etc/wsl.conf
[automount] root = / options = "metadata,umask=22,fmask=11"
这样,windows里面的c盘就自动挂载到了wsl中的/c/目录下,d盘就自动挂载到了wsl中的/d/目录下
安装docker for windows
直接到官网上下载安装即可。
安装的时候,因为我们要使用wsl中的docker,也就是linux container,所以记得不要选择windows container。
安装好了之后,先配置加速器,目前我用阿里云和daocloud的加速器,都挺快的。到对应的网站上按照指示操作即可。
开发的时候,需要把物理机上的代码和容器中的代码文件做共享,所以需要在Shared Drives中配置共享的盘符。你的代码在哪个盘里面,那么就选择共享哪个盘
wsl中安装docker
如果直接用apt来安装docker,不会是最新版的,所以参考官方文档来安装最新版的docker(https://docs.docker.com/install/linux/docker-ce/ubuntu/)
即:
sudo apt-get remove docker docker-engine docker.iosudo apt-get updatesudo apt-get install \
apt-transport-https \
ca-certificates \ curl \
software-properties-commoncurl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key
add -sudo apt-key fingerprint 0EBFCD88sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \
stable"sudo apt-get updatesudo apt-get install docker-ce试一下执行docker命令:
docker version
结果如下:
Client: Version: 18.03.1-ce API version: 1.37 Go version: go1.9.5 Git commit: 9ee9f40 Built: Wed Jun 20 21:43:51 2018 OS/Arch: linux/amd64 Experimental: false Orchestrator: swarm Server: Engine: Version: 18.03.1-ce API version: 1.37 (minimum version 1.12) Go version: go1.9.5 Git commit: 9ee9f40 Built: Thu Apr 26 07:22:38 2018 OS/Arch: linux/amd64 Experimental: false
OK了,但是如果再run一下呢?
docker run busybox
此时会提示docker daemon没有运行。那么执行:
sudo service docker start
虽然看到is starting,但是docker还是不能run。
此时,就需要打开docker for windows中的General->Expose daemon on tcp://localhost:2375 without TLS
然后在wsl中执行:
export DOCKER_HOST=tcp://localhost:2375
然后就可以开始run了。
推荐学习:《Docker视频教程》
另外默认情况下是不会安装docker-compose的,如果通过apt来安装docker-compose,也不会是最新版,但是通过pip来安装的就是最新版,所以:
sudo apt install python-pipsudo pip install docker-compose
测试下:
docker-compose version
# docker
# 目录下
# 新源
# 官网
# 云和
# 情况下
# 好了
# 有很多
# 适用于
# 微软
# 我用
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
深圳网站制作设计招聘,关于服装设计的流行趋势,哪里的资料比较全面?
Laravel如何使用Service Provider服务提供者_Laravel依赖注入与容器绑定【深度】
5种Android数据存储方式汇总
Laravel如何实现文件上传和存储?(本地与S3配置)
公司门户网站制作流程,华为官网怎么做?
如何用景安虚拟主机手机版绑定域名建站?
香港服务器建站指南:免备案优势与SEO优化技巧全解析
Python自动化办公教程_ExcelWordPDF批量处理案例
Laravel怎么在Controller之外的地方验证数据
如何在云主机快速搭建网站站点?
详解Nginx + Tomcat 反向代理 如何在高效的在一台服务器部署多个站点
如何在万网主机上快速搭建网站?
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
音响网站制作视频教程,隆霸音响官方网站?
香港服务器选型指南:免备案配置与高效建站方案解析
canvas 画布在主流浏览器中的尺寸限制详细介绍
Laravel怎么使用artisan命令缓存配置和视图
html5audio标签播放结束怎么触发事件_onended回调方法【教程】
laravel怎么使用数据库工厂(Factory)生成带有关联模型的数据_laravel Factory生成关联数据方法
Gemini怎么用新功能实时问答_Gemini实时问答使用【步骤】
Laravel Blade模板引擎语法_Laravel Blade布局继承用法
黑客入侵网站服务器的常见手法有哪些?
如何用手机制作网站和网页,手机移动端的网站能制作成中英双语的吗?
如何在Windows环境下新建FTP站点并设置权限?
再谈Python中的字符串与字符编码(推荐)
Laravel如何集成第三方登录_Laravel Socialite实现微信QQ微博登录
Laravel怎么实现一对多关联查询_Laravel Eloquent模型关系定义与预加载【实战】
中国移动官方网站首页入口 中国移动官网网页登录
Laravel如何实现数据导出到CSV文件_Laravel原生流式输出大数据量CSV【方案】
广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?
如何快速配置高效服务器建站软件?
网站图片在线制作软件,怎么在图片上做链接?
JavaScript模板引擎Template.js使用详解
香港服务器租用费用高吗?如何避免常见误区?
Laravel如何处理CORS跨域问题_Laravel项目CORS配置与解决方案
EditPlus中的正则表达式 实战(2)
Laravel怎么实现观察者模式Observer_Laravel模型事件监听与解耦开发【指南】
如何在 React 中条件性地遍历数组并渲染元素
linux写shell需要注意的问题(必看)
详解一款开源免费的.NET文档操作组件DocX(.NET组件介绍之一)
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法
Internet Explorer官网直接进入 IE浏览器在线体验版网址
Laravel怎么使用Blade模板引擎_Laravel模板继承与Component组件复用【手册】
详解Android图表 MPAndroidChart折线图
如何续费美橙建站之星域名及服务?
零基础网站服务器架设实战:轻量应用与域名解析配置指南
ChatGPT怎么生成Excel公式_ChatGPT公式生成方法【指南】
java获取注册ip实例
原生JS获取元素集合的子元素宽度实例
如何快速重置建站主机并恢复默认配置?


add -sudo apt-key fingerprint 0EBFCD88sudo add-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \
stable"sudo apt-get updatesudo apt-get install docker-ce