1、wsl1启动前提: windows的子linux功能。 注意只能在win10以及win2019操作系统上启用(有版本要求,早期的可能并不支持,具体参考docs microsoft文档)
2、wsl2启用前提:windows的子linux功能 、hyper-v、微软发布的专用linux内核补丁 注意只能在win10以及win2019操作系统上启用(有版本要求,早期的可能并不支持,具体参考docs microsoft文档)
3、docker desktop:在win10 家庭版只能基于wsl2基础启用支持linux container,所以需要先安装wsl2(windows的子linux功能、hyper-v、微软发布的专用linux内核补丁),然后安装docker desktop,会同步安装windows container feature(但实际只能支持linux container);
在win10 pro或enterprise版本上可以在windows container或linux container之间转换。
Hyper-V 是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Windows 10。这是 Docker Desktop for Windows 所使用的虚拟机。
但是,这个虚拟机一旦启用,QEMU、VirtualBox 或 VMWare Workstation 15 及以下版本将无法使用!如果你必须在电脑上使用其他虚拟机(例如开发 Android 应用必须使用的模拟器),请不要使用 Hyper-V!
在安装docker时发现需要开启Hyper-V,但是发现没有这个产品(似乎win10家庭中文版都没有~)
1.首先新建一个Hyper-V.txt文件,写入如下代码:
pushd "%~dp0"
dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txt
for /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"
del hyper-v.txt
Dism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL
2.将后缀名改为cmd,然后以管理员身份运行,然后就开始添加程序包了,大概一分钟,输入y重启计算机。
配置更新重启完成以后,我们去控制面板、所有控制面板项、程序和功能,点击启用或关闭Windows
功能,就会发现我们已经有了Hyper-v
功能,并勾选windows的子linux功能
确保 BIOS 已开启虚拟化,下图检查是否已开启好
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
这时候wsl其实已经启用了,重启就可以了,但还要更新到wsl2,就在后面一起重启了。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
wsl --set-default-version 2
使用任一终端,输入以下命令查看 WSL 版本,确保 WSL 的版本为 2.0:
wsl -l -v
出现上面这行就是好了
选择一个你喜欢的就可以了,任君挑选。
Ubuntu 16.04 LTS
Ubuntu 18.04 LTS
Ubuntu 20.04 LTS
openSUSE Leap 15.1
SUSE Linux Enterprise Server 12 SP5
SUSE Linux Enterprise Server 15 SP1
Kali Linux
Debian GNU/Linux
Fedora Remix for WSL
Pengwin
Pengwin Enterprise
Alpine WSL
在分发版的页面中,选择“获取”。
初次启动它会进行一个初始化的过程,需要等待一段时间。完成之后会让你设置账号和密码。
点击 Get started with Docker Desktop,并下载 Windows 的版本,如果你还没有登录,会要求注册登录:
双击下载的 Docker for Windows Installer 安装文件,一路 Next,点击 close and start重启电脑完成安装。
安装完成后,Docker 会自动启动。通知栏上会出现个小鲸鱼的图标,这表示 Docker 正在运行。
安装之后,可以打开 cmd并运行以下命令查看版本号
docker version
运行以下命令检测是否运行成功:
docker run hello-world
在成功运行之后应该会出现以下信息:
General:这里是设置docker开机自启,应用程序启动时检查更新,发布使用情况统计信息
Daemon:Docker for windows10 可以配置阿里云镜像,到https://cr.console.aliyun.com/ 注册一个账户,登录进去后再列表选择加速器,把你的专属加速器地址复制粘贴到Daemon的Registry mirrors中
“https://mgo8nk1u.mirror.aliyuncs.com”
安装后选择启用WSL2引擎
这样便可直接在WSL的命令行中使用docker:
Redis 官网:https://redis.io/
Docker 官方镜像仓库查找 Redis :https://hub.docker.com/
一个命令跑起来:docker run -d -p 6379:6379 --name redis redis:latest
执行完成后多了一个镜像和容器
Docker CE 支持 64 位版本 CentOS 7,并且要求内核版本不低于 3.10, CentOS 7 满足最低内核的要求,所以我们在CentOS 7安装Docker。
Install Docker Engine on CentOS | 官方教学
CentOS Docker 安装 | 菜鸟教程 (runoob.com)
如果之前安装过旧版本的Docker,可以使用下面命令卸载:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-selinux \
docker-engine-selinux \
docker-engine \
docker-ce
安装需要的软件包, yum-util提供yum- config-managerr功能,另外两个是 devicemapper区动依赖的
yum install -y yum-utils device-mapper-persistent-data lvm2 --skip-broken
然后更新本地镜像源:
# 设置阿里云docker镜像源
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#清华大学源
yum-config-manager --add-repo https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/centos/docker-ce.repo
更新yum软件包索引
yum makecache fast
然后输入命令:安装最新版本的 Docker Engine-Community 和 containerd
yum install docker-ce docker-ce-cli containerd.io
docker-ce社区ee企业版。稍等片刻,docker即可安装成功。
Docker应用需要用到各种端口,逐一去修改防火墙设置。非常麻烦,因此建议大家直接关闭防火墙!
启动docker前,一定要关闭防火墙后!!
启动docker前,一定要关闭防火墙后!!
启动docker前,一定要关闭防火墙后!!
# 关闭
systemctl stop firewalld
# 禁止开机启动防火墙
systemctl disable firewalld
通过命令启动docker:
systemctl start docker # 启动docker服务
systemctl stop docker # 停止docker服务
systemctl restart docker # 重启docker服务
然后输入命令,可以查看docker版本:如果有信息则说明启动成功
docker -v
如图:
通过运行hello-world镜像来验证Docker引擎是否正确安装。
docker run hello-world
查看下载的hello-word镜像
docker images
了解一下卸载docker的命令:
卸载Docker Engine、CLI和Containerd包:
yum remove docker-ce docker-ce-cli containerd.io
~~~sh
删除所有映像、容器和卷:
~~~sh
rm -rf /var/lib/docker
rm -rf /var/lib/containerd
docker官方镜像仓库网速较差,我们需要设置国内镜像服务:
参考阿里云的镜像加速文档:容器镜像服务 (aliyun.com)
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://mgo8nk1u.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker
第一步:创建文件夹
sudo mkdir -p /etc/docker
~~~sh
第二步:编写配置文件
~~~sh
sudo tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://mgo8nk1u.mirror.aliyuncs.com"]
}
EOF
第三步:重新加载
sudo systemctl daemon-reload
第四步:
sudo systemctl restart docker
完成
Docker是怎么工作的?
Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访
问!
Docker-Server接收到Docker-Client的指令,就会执行这个命令!
官网教程
Linux下需要通过命令下载:
curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
将可执行权限应用于二进制文件:
chmod +x /usr/local/bin/docker-compose
测试安装
docker-compose --version
安装pip
#安装epel扩展源
yum -y install epel-release
#然后再安装pip
yum -y install python-pip
查看版本
pip --version
CentOS 7 中默认安装了 Python,版本比较低(2.7.5),为了使用新版 3.x,需要对旧版本进行升级
查看Python版本号
python -V
下载新版本python
wget https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tgz
下载完成之后,进行解压缩:
tar -zxvf Python-3.9.7.tgz
进入解压缩后的目录,安装配置:
cd Python-3.9.7/
./configure
配置完成之后,就可以编译了:
make
漫长的等待……完成后,安装:
make install
验证
# python -V
Python 2.7.5
# python3 -V
Python 3.9.7
设置 3.x 为默认版本
查看 Python 的路径,在 /usr/bin 下面。可以看到 python 链接的是 python 2.7,所以,执行 python 就相当于执行 python 2.7
ls -al /usr/bin | grep python
将原来 python 的软链接重命名:
mv /usr/bin/python /usr/bin/python.bak
将 python 链接至 python3:
ln -s /usr/local/bin/python3 /usr/bin/python
这时,再查看 Python 的版本:
python -V
配置 yum
升级 Python 之后,由于将默认的 python 指向了 python3,yum 不能正常使用,需要编辑 yum 的配置文件:
vi /usr/bin/yum
#!/usr/bin/python 改成: #!/usr/bin/python2.7
vi /usr/libexec/urlgrabber-ext-down
#!/usr/bin/python 改成: #!/usr/bin/python2.7
升级yum:
yum update
更新pip
pip3 install --upgrade pip
查看版本号
pip --version
安装docker-compose
pip install docker-compose
查看docker compose的版本
docker-compose version