WSL安装运行docker

Docker的安装

参考的安装教程:Docker-从入门到实践。关键的代码如下:

1
2
3
4
curl -fsSL test.docker.com -o get-docker.sh
curl -fsSL get.docker.com -o get-docker.sh
sudo sh get-docker.sh --mirror Aliyun
sudo sh get-docker.sh --mirror AzureChinaCloud

Docker的使用

Docker默认是需要root用户才能使用的,在Windows上我习惯于进入Powershell后执行下面的命令启动Docker

1
2
3
4
5
wsl --shutdown # 先关闭wsl
wsl # 启动WSL
sudo su # 进入root
sudo service docker start # 启动Docker
su xiang # 切换会用户(非root权限)

如何从WSL1切换到WSL2

我在Windows上使用Docker遇到的一个很奇怪的问题是,我之前的版本是WSL1,Docker无论如何都无法使用,搜索半天也没有找到解决方法,索性将WSL1升级成WSL2,没想到问题就那样解决了。参考教程:知乎:WSL1 升级为WSL2。下面是升级的过程:

  • 下载对应的内核更新包:点击下载

  • CMD中管理员身份运行代码:

1
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
  • 设置版本
1
wsl --set-version Ubuntu-20.04 2

其中的Ubuntu-20.04是通过代码wsl -l -v查看到的。

然后再次重启WSL即可。

下载Docker镜像

Docker Hub中检索下载需要的镜像。

Docker的使用

进入WSL后运行下方代码运行Docker

1
2
3
4
sudo service --status-all 
sudo service docker start
sudo service docker start
docker run -v /mnt/:/work -it omicsclass/rnaseq

其中的work是不一定的,需要看镜像给的路径是啥。

如何创建自己的镜像

先从Docker Hub下载Ubuntu的官方镜像,然后在镜像中安装需要的软件。
PS:如何加速pip的下载:

1
pip install django -i https://pypi.tuna.tsinghua.edu.cn/simple

加速的R包的下载安装:

1
2
options(repos=structure(c(CRAN="https://mirrors.tuna.tsinghua.edu.cn/CRAN/")))
options(BioC_mirror="https://mirrors.tuna.tsinghua.edu.cn/bioconductor")

在安装完成需要的软件后,先运行exit退出Docker,然后运行下面的代码生成新的镜像:

1
docker commit -m " add some softwares for RNA-Seq" -a "xiangli" 21bfa810c811 lixiang117423/rnaseq:v1

然后登陆自己的Docker,登录以后把新的镜像推送到Docker Hub即可:

1
docker push lixiang117423/rnaseq:v1

💌lixiang117423@foxmail.com
💌lixiang117423@gmail.com


WSL安装运行docker
https://lixiang117423.github.io/article/wsl4docker/
作者
小蓝哥
发布于
2021年12月6日
许可协议