目录
- 安装Docker
- 可能出现的问题
- 内核需更新
- Linux 内核更新包
- 将 WSL 2 设置为默认版本
- An error occurred
- 安装镜像
- 使用Microsoft Store安装所选的 Linux 分发
- 手动安装镜像及文件夹的共享
- Docker run 命令
- Windows Terminal的安装
- 在Windows Terminal中直接运行已有的容器
Windows 10 20H2
安装Docker
下载链接
可能出现的问题
内核需更新
根据旧版 WSL 的手动安装步骤步骤 4后做就行:
Linux 内核更新包
适用于 x64 计算机的 WSL2 Linux 内核更新包
如果使用的是 ARM64 计算机,请下载 ARM64 包。 如果不确定自己计算机的类型,请打开命令提示符或 PowerShell,并输入:systeminfo | find “System Type”。 Caveat: 在非英文版 Windows 上,你可能必须修改搜索文本,对“System Type”字符串进行翻译。 你可能还需要对引号进行转义来用于 find 命令。 例如,在德语版中使用 systeminfo | find ‘“Systemtyp”’。
将 WSL 2 设置为默认版本
打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 WSL 2 设置为默认版本:
wsl --set-default-version 2
如果失败,可能需要事先以管理员方式启动cmd或powershell
使用
netsh winsock reset
命令重置windows网络设置
An error occurred
以管理员方式启动cmd或powershell
使用
netsh winsock reset
命令重置windows网络设置
安装镜像
使用Microsoft Store安装所选的 Linux 分发
打开Microsoft Store,并选择你偏好的 Linux 分发版。
在分发版的页面中,选择“安装”。
第一次启动将会提示输入用户名和密码。
手动安装镜像及文件夹的共享
Docker run 命令
摘自Docker run 命令 —— 菜鸟教程
docker run :创建一个新的容器并运行一个命令
语法
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明:
-a stdin: 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项;
-d: 后台运行容器,并返回容器ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
–name=“名称”: 为容器指定一个名称;
–dns 8.8.8.8: 指定容器使用的DNS服务器,默认和宿主一致;
–dns-search example.com: 指定容器DNS搜索域名,默认和宿主一致;
-h “mars”: 指定容器的hostname;
-e username=“ritchie”: 设置环境变量;
–env-file=[]: 从指定文件读入环境变量;
–cpuset=“0-2” or --cpuset=“0,1,2”: 绑定容器到指定CPU运行;
-m :设置容器使用内存最大值;
–net=“bridge”: 指定容器的网络连接类型,支持 bridge/host/none/container: 四种类型;
–link=[]: 添加链接到另一个容器;
–expose=[]: 开放一个端口或一组端口;
–volume , -v: 绑定一个卷
以管理员方式启动cmd或powershell
使用
docker run -it --name robot_controller -v D:\Work\Robot\Workspace\openRCio-stu:/openRC ansible/ubuntu14.04-ansible /bin/bash
拉取ubuntu14.04-ansible镜像,创建一个名为robot_controller的容器并运行,其中D:\Work\Robot\Workspace\openRCio-stu为要共享文件夹的Windows下的路径,/openRC为该文件夹映射在容器内的路径,镜像名为ansible/ubuntu14.04-ansible
如下图可见,已成功共享该文件夹
Windows Terminal的安装
在Microsoft Store中安装就行。
设置里可设定外观
打开Ubuntu
在Windows Terminal中直接运行已有的容器
在cmd/powershell中先使用
docker ps -a
命令查看已有容器的ID
Windows Terminal新建一个配置,命令行为
docker start -i 容器ID
此后便可在下拉菜单中直接启动之前的容器