目前在学习docker,在网上扒了很多老师的教程,终于装好了,于是决定再装一遍做个记录,省的以后再这么麻烦
一:什么是docker
Docker 是一个开源的应用容器引擎,它可以让开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何支持 Docker 的平台上。容器类似于虚拟机,但更加轻量级,共享宿主机的操作系统内核,启动速度快,资源占用少,便于应用的快速部署和扩展。
二:docker的安装
2.1 开启虚拟化
首先打开任务管理器,进入到性能里CPU界面,查看下方的虚拟化是否已启用,如果显示已禁用,则需要去BIOS中查找与CPU配置或高级选项相关的设置,如“Intel VT”、“Intel VT-x”或“AMD-V”。将虚拟化设置更改为“启用”,然后保存退出就可以了
2.2 打开Hyper-V
打开控制面板,点击程序
点击<<启用或关闭Windows功能>>选项
然后依次勾选<<Hyper-V>>,<<Windows虚拟机监控程序平台>>,<<容器>>,<<适用于Linux的Windows子系统>>,<<虚拟机平台>>
2.3 wsl安装
用管理员身份去运行终端
然后输入命令行打开wsl功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
然后打开虚拟机
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
输入以下命令在 Windows 系统中快速安装并设置WSL,安装 Ubuntu Linux 发行版,方便我们在 Windows 环境下直接使用 Linux 系统和工具。然后你就会进入这个界面,输入你的ubuntu系统名和密码,就完成了
wsl --install -d Ubuntu
验证安装
2.4 docker安装
直接官网搜索docker,也可以直接点我去到下载界面,我下载的这个
下载完成后进行安装
安装完成!重启电脑
2.5 进入docker
选择同意
选择使用推荐设置即默认设置,直接finish
登录docker,这里我使用的GitHub账号进行登录
选择方向
选择想用docker做什么
然后就进到docker主界面了
三:修改镜像
设置国内镜像地址,把原本的代码更替成下面这个代码段
{
"builder": {
"gc": {
"defaultKeepStorage": "20GB",
"enabled": true
}
},
"experimental": false,
"features": {
"buildkit": true
},
"registry-mirrors": [
"https://registry.docker-cn.com",
"http://hub-mirror.c.163.com",
"https://docker.mirrors.ustc.edu.cn",
"https://cr.console.aliyun.com",
"https://mirror.ccs.tencentyun.com"
]
}
更换完之后进行保存
四:查看安装是否成功
在终端内输入命令查看是否安装成功
docker --version
docker 常用命令
查看docker安装
docker ps 或者 ps -ef | grep docker
查看docker服务:
systemctl status docke
设置开启docker服务:
systemctl enable docker
启动docker服务:
systemctl start docker
查看mysql镜像
docker search mysql
进入容器:
docker exec -it xxx bash
打开ubuntu:
wsl
退出输入:
exit
五:解决报错
我们做完这些之后可能会有下图这个错误
网上查了一下,这个错误通常出现在使用 Docker 与 WSL集成的时候,或者是在尝试获取 Ubuntu 发行版的用户主目录的时候。在我们当前安装的条件下,大概率是由于 WSL 版本不兼容导致的。我们查一下WSL版本,比如我的WSL显示是1,于是我把 WSL 从版本 1 升级到版本 2,这个报错就没出来了
查询当前WSL版本
wsl --list --verbose
在保证我们的系统支持WSL2的前提下,把我们的这个Ubuntu发行版升级到WSL2
wsl --update
wsl --set-version Ubuntu 2
验证升级是否成功
wsl --list --verbose
此时我们可以看到我的WSL版本已经默认为WSL2了
六:WSL2与docker集成
6.1 启动WSL
由于 Ubuntu
发行版当前处于 Stopped
状态,我们需要启动它
wsl -d Ubuntu
或者直接
wsl
6.2 启用 Docker Desktop 与 WSL 2 的集成
点击 Docker Desktop 的设置图标,选择 Settings
,在 Settings
中,进入 Resources
> WSL Integration
。启用 Enable integration with my default WSL distro
选项。我这边是把与其他发行版的集成启用也给打开了Enable integration with additional distros(个人感觉最好开一下)
6.3 验证WSL2与docker的集成
在 Windows 命令提示符中运行 wsl
或直接从开始菜单启动 Ubuntu。
在终端中,运行以下命令来验证 Docker 是否可用
docker --version
输出图中内容,则说明集成成功
6.4 测试集成是否成功
运行一个Docker 容器来测试
docker run -it --rm hello-world
如果输出类似以下内容,说明 Docker 在 WSL 2 中可以正常运行
6.5 在 WSL 2 中默认使用 Docker Desktop 的 Docker 守护进程,设置环境变量
6.5.1 在 WSL 2 的终端中,打开或创建 .bashrc
文件
nano ~/.bashrc
6.5.2 在文件末尾添加以下内容
6.5.2.1 使用键盘的箭头键(↑、↓、←、→)移动光标到文件的任意位置。
6.5.2.2 直接在光标位置输入你想要添加的内容。例如,添加以下环境变量:
export DOCKER_HOST="unix:///mnt/wsl/docker-desktop/docker.sock"
6.5.2.3 按下 ctrl+O(大写英文字母O),然后按下 Enter
键确认保存
6.5.2.4 按下 Ctrl + X
退出 nano
编辑器
6.5.3 验证更改
6..5.3.1 重新加载 ~/.bashrc
文件
source ~/.bashrc
6.5.3.2 运行以下命令验证环境变量是否设置成功
echo $DOCKER_HOST
6.5.3.3 如果输出为:unix:///mnt/wsl/docker-desktop/docker.sock
说明环境变量已正确设置。
以上步骤主要来源: