Win10的Linux子系统Bash上使用Docker

Win10自带了Linux子系统(Ubuntu),于是 我们可以在Bash下执行 Linux命令了。

不过存在一个问题,在这个Bash下我们无法执行docker 相关的命令。

解决方法如下:

1、在本机勾选上这个选项:

 

 2、打开Bash,安装 docker

注意:不要通过 apt install docker.io 去安装,这种方式安装的docker版本低,会在进入docker容器进行操作时,提示错误:tls: oversized record received with length 20527

应该通过下面的方式安装docker最新版本。

 

如果没有给apt-get设置国内镜像,可以先去进行  apt-get加速

# Environment variables you need to set so you don't have to edit the script below.
export DOCKER_CHANNEL=edge
 
# Update the apt package index.
apt-get update
 
# Install packages to allow apt to use a repository over HTTPS.
apt-get install -y \
    apt-transport-https \
    ca-certificates \
    curl \
    software-properties-common
 
# Add Docker's official GPG key.
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
 
# Verify the fingerprint.
apt-key fingerprint 0EBFCD88
 
# Pick the release channel.
add-apt-repository \
   "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
   $(lsb_release -cs) \
   ${DOCKER_CHANNEL}"
 
# Update the apt package index.
apt-get update
 
# Install the latest version of Docker CE.
apt-get install -y docker-ce
 
# Allow your user to access the Docker CLI without needing root.
usermod -aG docker $USER

安装完成后,通过docker version 可以查看docker的版本。

 

然后安装docker-compose

  a、先到windows的cmd中执行 docker-compose version 看看主机的 docker-compose的版本

  b、然后根据版本到  https://github.com/docker/compose/releases  下载相应版本

  c、将下载的文件防止 docker 设置的共享目录中,我这里是d盘,然后执行下面语句:

#我这里是放在了D盘
cp /mnt/d/docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

chmod +x /usr/local/bin/docker-compose

操作完成后,执行 docker-compose version 看看版本号。

注意:为什么不用官网的 curl -L https://github.co....  去安装docker-compose呢?

因为在win10的linux子系统中执行该命令后,下载速度超级慢。手工来做吧。

 

3、在Bash中修改

vi ~/.bashrc

#在该文件的末尾加入
export DOCKER_HOST=tcp://127.0.0.1:2375

#修改完成后执行
source ~/.bashrc

此时,我们再执行 docker images 等命令,发现已经OK了

 

posted on 2018-12-03 11:51  HB1  阅读(1020)  评论(0)    收藏  举报

导航