Windows Docker 安装

docker desktop 、wsl2、wsl1、hyper-v的简单关系

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

Hyper-V 是微软开发的虚拟机,类似于 VMWare 或 VirtualBox,仅适用于 Windows 10。这是 Docker Desktop for Windows 所使用的虚拟机。

但是,这个虚拟机一旦启用,QEMU、VirtualBox 或 VMWare Workstation 15 及以下版本将无法使用!如果你必须在电脑上使用其他虚拟机(例如开发 Android 应用必须使用的模拟器),请不要使用 Hyper-V!

解决win10或者w11没有Hyper-V

在安装docker时发现需要开启Hyper-V,但是发现没有这个产品(似乎win10家庭中文版都没有~)

1.首先新建一个Hyper-V.txt文件,写入如下代码:

pushd "%~dp0"dir /b %SystemRoot%\servicing\Packages\*Hyper-V*.mum >hyper-v.txtfor /f %%i in ('findstr /i . hyper-v.txt 2^>nul') do dism /online /norestart /add-package:"%SystemRoot%\servicing\Packages\%%i"del hyper-v.txtDism /online /enable-feature /featurename:Microsoft-Hyper-V-All /LimitAccess /ALL

2.将后缀名改为cmd,然后以管理员身份运行,然后就开始添加程序包了,大概一分钟,输入y重启计算机。

配置更新重启完成以后,我们去控制面板、所有控制面板项、程序和功能,点击启用或关闭Windows功能,就会发现我们已经有了Hyper-v功能,并勾选windows的子linux功能

确保 BIOS 已开启虚拟化,下图检查是否已开启好

WSL的安装

  • 使用管理员权限打开powershell
  • 启用“适用于 Linux 的 Windows 子系统”可选功能
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

这时候wsl其实已经启用了,重启就可以了,但还要更新到wsl2,就在后面一起重启了。

升级到WSL2

  • 启用“虚拟机平台”可选组件
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

  • 重启电脑。
  • 重新管理员身份打开powershell,用下面的命令将wsl2设置为默认。
wsl --set-default-version 2

使用任一终端,输入以下命令查看 WSL 版本,确保 WSL 的版本为 2.0:

wsl -l -v

出现上面这行就是好了

下载Linux内核更新程序包

  • 适用于 x64 计算机的 WSL2 Linux 内核更新包

安装linux分发版

选择一个你喜欢的就可以了,任君挑选。

  • 打开 Microsoft Store,并选择你偏好的 Linux 分发版。

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
在分发版的页面中,选择“获取”。

初次启动它会进行一个初始化的过程,需要等待一段时间。完成之后会让你设置账号和密码。

安装 Docker Desktop for Windows

点击 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:

演示 Docker 安装 Redis

Redis 官网:https://redis.io/

Docker 官方镜像仓库查找 Redis :https://hub.docker.com/

一个命令跑起来:docker run -d -p 6379:6379 --name redis redis:latest

执行完成后多了一个镜像和容器

CentOS安装Docker

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

安装docker

安装需要的软件包, 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前,一定要关闭防火墙后!!

启动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

完成

回顾HelloWorld流程

底层原理

Docker是怎么工作的?

Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访
问!

Docker-Server接收到Docker-Client的指令,就会执行这个命令!

CentOS7安装DockerCompose

方式一:官网教学

官网教程

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进行安装

安装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.7vi /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

windows11,Windows10,服务器centos7安装docker,docker compose相关推荐

  1. 华为服务器安装centos7系统教程,云服务器centos7安装教程

    云服务器centos7安装教程 内容精选 换一换 本节操作以Windows Server 2012操作系统的云服务器为例介绍实现多用户登录的操作步骤.Windows server2012服务器默认能够 ...

  2. Centos7安装配置Docker

    1. 什么是Docker 在开篇之前考虑到阅读人群,我觉得有必要向各位读者朋友简单介绍一下Docker是什么,它解决了什么问题?Docker是基于Go语言实现的云开源项目.它对此给出了一个标准化的解决 ...

  3. centos7安装部署docker(虚拟机)

    (此处略过centos7虚拟机的安装过程,很多很多下一步下一步下一步--) 1.镜像安装完成后,进行网卡的配置 centos7的网卡配置位于/etc/sysconfig/network-scripts ...

  4. 【docker】centos7 安装部署 docker

    一.安装docker 1.Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker . 通过 uname -r 命令查看 ...

  5. 华为云服务器(Centos7)安装与卸载mysql8

    文章目录 安装 卸载 安装 下载地址 获取到安装包之后,将该安装包上传到Linux服务器上. 我这里使用的是xftp,将安装包上次到某一个自己创建好的文件夹即可 之后创建一个用于存放mysql的文件夹 ...

  6. 腾讯云服务器centos7安装python3.7+,解决ssl问题

    使用requests模块访问百度,报错如下: requests.exceptions.SSLError: HTTPSConnectionPool(host='www.baidu.com', port= ...

  7. 如何在阿里云服务器(centos7)安装、卸载mysql数据库

    参考博文:https://www.pianshen.com/article/3736302737/

  8. CentOS7安装Docker和配置Docker Compose

    文章目录 一.前提条件和注意事项 二.删除旧版本的 Docker(可选) 三.安装 Docker 第1步:安装必要的一些系统工具 第2步:添加软件源信息 第3步:编辑文件 第4步:将软件包信息提前在本 ...

  9. KSO-docker命令大全,基于Linux服务器CentOS7.5 安装docker

    1 docker简介 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化 ...

  10. CentOS7安装Docker教程(图文)

    文章目录 Docker 1. 检查是否支持docker 2. yum安装docker 3. 常用的一些docker命令 Docker Compose 1.Docker Compose介绍 2.Dock ...

最新文章

  1. 有用的Python资料
  2. 无处不在的智能设备与边缘计算时代即将来临
  3. DOS 命令、必会的 10个 DOS 命令
  4. ssm启动不报错_解决idea导入ssm项目启动tomcat报错404的问题
  5. u-boot移植随笔:移植过程问题及解决(本文章不时更新)
  6. linux终端 rmdir,Linux常用命令之rmdir
  7. Matlab简单教程:函数
  8. php_eol为什么没有换行,PHP PHP_EOL 换行符
  9. python调用mt4_python mt4
  10. 硬件电路学习之开尔文电桥双臂讲解
  11. 学习嵌入式怎么入门和提高?嵌入式开发教程pdf
  12. php mb_eregi_replace 只替换一个,mb_eregi_replace多个匹配得到它们
  13. Python黑客攻防(九)编写后门程序
  14. 低版本系统兼容的ActionBar(三)自定义Item视图+进度条的实现+下拉导航+透明ActionBar...
  15. linux修改分区自检,linux tune2fs命令取消大分区开机自检
  16. js验证开始日期不能大于结束日期_js如何判断开始时间不能大于结束时间
  17. android:state_pressed是什么意思?
  18. 转:传智播客—jbpm与OA项目(七)
  19. mysql 字段包含横杠_mysql数据库创建删除带横杠的数据库名
  20. java基础小记_Java基础学习小记--多态

热门文章

  1. 如何判断一个APP页面是原生的还是H5页面
  2. UnboundLocalError: local variable ‘count‘ referenced before assignment
  3. java分类Kdd99数据集_【数据】主题分类数据集
  4. 【原创】2019.10.24模拟赛 嘟嘟噜/天才绅士少女助手克里斯蒂娜/凤凰院凶真
  5. 【洛谷】P1428 小鱼比可爱
  6. Nikto v2.1.0-手册
  7. Android Studio 4.0.+NDK .so库生成打包
  8. python输出星号等腰三角形_Python 打印矩形、直角三角形、等腰三角形、菱形
  9. 以“掌上东航”为例,论混合开发在企业级项目中的实践
  10. outlook客户端怎么看html,谷歌浏览器根据html网页启动邮件客户端Outlook(示例代码)...