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.io
sudo apt-get update
sudo apt-get install \
apt-transport-https \
ca-certificates \
curl \
software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo apt-key fingerprint 0EBFCD88
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
sudo apt-get update
sudo 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-compose的,如果通过apt来安装docker-compose,也不会是最新版,但是通过pip来安装的就是最新版,所以:
sudo apt install python-pip
sudo pip install docker-compose
测试下:
docker-compose version
wsl 下安装docker的更多相关文章
- [后端及服务器][WSL2(Ubuntu)+Docker]从零开始在WSL中安装Docker
目录 简介 WSL 安装 开启虚拟化(BIOS) 检查系统版本 安装WSL 老版本安装详情 简介 想花三篇文章写下从Windows(WSL)上开启Docker部署php/node/vue/html等项 ...
- Redhat/Ubuntu/Windows下安装Docker
Redhat/Ubuntu/Windows下安装Docker 什么是Docker Docker是Docker.inc公司开源的一个基于LXC技术之上构建的Container容器引擎,基于Go语言并遵从 ...
- centos 6.5下安装docker
关于docker的更多信息,请移步度娘.以下两个链接也对docker有了具体的介绍: http://www.docker.org.cn/book/docker/what-is-docker-16.ht ...
- 在Ubuntu14.04下安装Docker CE(1) - repository篇
从2017年3月开始,Docker开始分为社区版本和企业版,也就是Docker CE和Docker EE, 原来Ubuntu14.04下,通过sudo apt-get install docker.i ...
- 记Windows10下安装Docker的步骤
本文主要是记录吾八哥本人在Windows10下安装Docker的过程,当然这些步骤也是在网上搜索查阅资料得知而来的!具体步骤如下: 一.启用Hyper-V 打开控制面板 - 程序和功能 - 启用或关闭 ...
- docker学习笔记(一)—— ubuntu16.04下安装docker
docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...
- Docker最全教程之Ubuntu下安装Docker(十四)
前言 Ubuntu是一个以桌面应用为主的开源GNU/Linux操作系统,应用很广.本篇主要讲述Ubuntu下使用SSH远程登录并安装Docker,并且提供了Docker安装的两种方式,希望对大家有所帮 ...
- ubuntu 下安装docker 踩坑记录
ubuntu 下安装docker 踩坑记录 # Setp : 移除旧版本Docker sudo apt-get remove docker docker-engine docker.io # Step ...
- docker(一) Centos7下安装docker
docker(一) Centos7下安装dockerdocker(二) windows10下安装dockerdocker(三) 镜像和容器常用命令 docker(四) 使用Dockerfile构建镜像 ...
随机推荐
- Python线程学习
Python3 通过两个标准库 _thread 和 threading 提供对线程的支持. _thread 提供了低级别的.原始的线程以及一个简单的锁,它相比于 threading 模块的功能还是比较 ...
- jlink commander使用
1.将JLink.exe拷贝到某个文件夹底下 2.建立bat文件,内容如下: JLink.exe -device Cortex-A7 -if JTAG -speed 4000 -jtagconf -1 ...
- JAVA语言程序设计-笔记摘录
JAVA 程序语言设计(基础篇) 笔记摘录 为避免输入错误, 不要在nextByte().nextShort().nextInt()等等后面使用nextLine() nextXXXXX()都称为令牌读 ...
- 对云信SDK的研究
1.我首先看了网易的云的各个产品 2.进行了分析发现产品还是很多的 3.主要对web的SDK进行了查看 4.主要有即时通信和聊天室 5.在githup上有网易托管的代码,我用git拉下来,并进行了查看 ...
- mybatis config 配置设置说明
<!– 配置设置 –> 2. <settings> 3. <!– 配置全局性 cache 的 ( 开 / 关) defau ...
- springboot 集成apollo,根据不同环境加载配置
- html a标签 语法
html a标签 语法 作用:<a> 标签定义超链接,用于从一张页面链接到另一张页面. 直线电机滑台 说明:<a> 元素最重要的属性是 href 属性,它指示链接的目标.在所有 ...
- XML 验证器
XML 错误会终止您的程序 XML 文档中的错误会终止你的 XML 程序. W3C 的 XML 规范声明:如果 XML 文档存在错误,那么程序就不应当继续处理这个文档.理由是,XML 软件应当轻巧,快 ...
- CDOJ 1069 秋实大哥去打工 单调栈 下标处理
E - 秋实大哥去打工 Time Limit:1000MS Memory Limit:65535KB 64bit IO Format:%lld & %llu Submit St ...
- linux文件夹目录含义及用途
/boot,存放linux启动文件和内核: /initrd,boot loader initialized RAM disk,就是由boot loader初始化的内存盘.在linux内核启动前,boo ...