windows11在wsl安装centos7并部署docker20

一、安装wsl

#电脑将会自动安装wsl,并且默认安装一个ubuntu系统,(如果不想安装ubuntu可以在wsl安装完成后下载ubuntu的时候直接退出)
wsl --install

#可以查看wsl支持的linux系统,里面是没有centos7的,有的话可以wsl --install -d 版本
wsl --list --online

#查看已安装的系统
wsl --list -v
#删除已安装的Ubuntu
wsl --inregister Ubuntu

二、安装centos7

  1. 下载centos7
    去github下载centos系统ZIP包,链接:https://github.com/wsldl-pg/CentWSL/releases
    解压下载的文件(不要放C盘),得到“CentOS7.exe”和“rootfs.tar”两个文件。
  2. 安装centos7
    右键以管理员身份运行“CentOS7.exe”,等待安装完成
  3. wsl
    启动centos7
#查看已安装的系统
wsl -l
#启动CentOS7
wsl -d CentOS7

三、centos7yum源改到国内

安装wget
下载wget安装包https://mirrors.aliyun.com/centos/7/os/x86_64/Packages/wget-1.14-18.el7_6.1.x86_64.rpm
wsl中执行

explorer.exe .

可以在windows中打开当前目录,直接复制进去。也可以使用cp命令复制,c盘对应/mnt/c/。(centos7的文件都保存在ext4.vhdx虚拟硬盘文件中,需要通过以上方法查看)。
然后安装wget

rpm -i wget-1.14-18.el7_6.1.x86_64.rpm

使用wget下载aliyun的centos7的repo文件

cd /etc/yum.repos.d
mkdir bak
mv *.repo  ./bak
rpm --import https://www.centos.org/keys/RPM-GPG-KEY-CentOS-7
wget http://mirrors.aliyun.com/repo/Centos-7.repo
# 清除系统所有的yum缓存
yum clean all 
# 生成yum缓存
yum makecache 

然后可以使用yum命令安装软件了

四、在centos7安装docker20

本来想yum安装的,看了下没找到20版本,就自己下载安装文件手动安装了。

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum list docker-ce --showduplicates | sort -r
wget http://mirrors.aliyun.com/docker-ce/linux/static/stable/x86_64/docker-20.10.24.tgz
tar -zxvf docker-20.10.24.tgz
mv docker/* /usr/local/bin/
#验证命令,查看版本
docker version

增加docker服务

sudo tee /etc/systemd/system/docker.service <<EOF
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network.target
[Service]
Type=simple
Restart=always
ExecStart=/usr/local/bin/dockerd
[Install]
WantedBy=multi-user.target
EOF

配置docker根目录data-root和国内加速镜像源registry-mirrors,注意选择磁盘空间大的位置。

sudo mkdir -p /data/docker
sudo tee /etc/docker/daemon.json <<EOF
{
    "registry-mirrors": [
        "https://docker.1ms.run",
        "http://hub-mirror.c.163.com"
    ],
  "data-root": "/data/docker"
}

重新加载并启动docker

systemctl daemon-reload
systemctl start docker

systemctl会报错Failed to get D-Bus connection: Operation not permitted。执行下面的命令即可解决

mv /usr/bin/systemctl /usr/bin/systemctl.old
curl https://raw.githubusercontent.com/gdraheim/docker-systemctl-replacement/master/files/docker/systemctl.py > /usr/bin/systemctl
chmod +x /usr/bin/systemctl
systemctl restart docker

然后再执行systemctl就没报错了。
拉取个镜像运行下看看

docker pull mysql:5.7
docker run -d --name mysql5.7 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

试了下可以外部连接到该数据库, 可以方便的在本机使用docker快速部署环境了。
停止容器

docker stop mysql5.7
systemctl stop docker

参考

https://www.cnblogs.com/szdxm2004/p/18283930
https://blog.youkuaiyun.com/fdcp123/article/details/115180957
https://download.youkuaiyun.com/blog/column/11479674/140240330
https://blog.youkuaiyun.com/qq_43319748/article/details/135245925

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值