windows11,Windows10,服务器centos7安装docker,docker compose

5 篇文章 2 订阅
2 篇文章 0 订阅

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.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功能

image-20211107150703572

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

image-20211107151008477

WSL的安装

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

image-20210930112304647

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

升级到WSL2

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

image-20210930112658933

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

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

wsl -l -v

image-20210930162950799

image-20210930112748500

出现上面这行就是好了

下载Linux内核更新程序包

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

image-20210930131513782

image-20210930132137787

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

image-20210930152626192

安装 Docker Desktop for Windows

点击 Get started with Docker Desktop,并下载 Windows 的版本,如果你还没有登录,会要求注册登录:

image-20210930104705138

双击下载的 Docker for Windows Installer 安装文件,一路 Next,点击 close and start重启电脑完成安装。

image-20210930105316633

安装完成后,Docker 会自动启动。通知栏上会出现个小鲸鱼的图标img,这表示 Docker 正在运行。

安装之后,可以打开 cmd并运行以下命令查看版本号

docker version

image-20210930133909544

运行以下命令检测是否运行成功:

docker run hello-world

在成功运行之后应该会出现以下信息:

image-20210930133930546

设置

image-20210930135009647

General:这里是设置docker开机自启,应用程序启动时检查更新,发布使用情况统计信息

image-20210930135136889

Daemon:Docker for windows10 可以配置阿里云镜像,到https://cr.console.aliyun.com/ 注册一个账户,登录进去后再列表选择加速器,把你的专属加速器地址复制粘贴到Daemon的Registry mirrors中

image-20210930140906876

“https://mgo8nk1u.mirror.aliyuncs.com”

image-20210930141947565

安装后选择启用WSL2引擎

image-20210930151117041

这样便可直接在WSL的命令行中使用docker:

演示 Docker 安装 Redis

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

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

image-20211107153209396

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

image-20211107153235327

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

image-20211107153327379

image-20211107153346039

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

如图:

image-20211006194359111

通过运行hello-world镜像来验证Docker引擎是否正确安装。

docker run hello-world

image-20211006194848489

查看下载的hello-word镜像

docker images

image-20211006195045156

了解一下卸载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)

image-20211006195709940

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

完成

image-20211006200218095

回顾HelloWorld流程

image-20211008134849013

底层原理

Docker是怎么工作的?

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

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

image-20211008135427645

CentOS7安装DockerCompose

方式一:官网教学

官网教程

image-20211008140213152

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

image-20211008141806072

方式二:通过pip进行安装

安装pip

#安装epel扩展源
yum -y install epel-release
#然后再安装pip
yum -y install python-pip

查看版本

pip --version

image-20211008142546685

CentOS 7 中默认安装了 Python,版本比较低(2.7.5),为了使用新版 3.x,需要对旧版本进行升级

查看Python版本号

python -V

image-20211008143122788

下载新版本python

wget https://www.python.org/ftp/python/3.9.7/Python-3.9.7.tgz

image-20211008143720257

下载完成之后,进行解压缩:

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

image-20211008144347360

设置 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

image-20211008144747709

配置 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

image-20211008150311414

安装docker-compose

pip install docker-compose 

image-20211008150524510

查看docker compose的版本

docker-compose version

image-20211008150545687

在 CentOS 7 离线环境中安装 DockerDocker Compose,你需要先准备好相关的离线安装包,并按照以下步骤操作: **1. 准备离线安装文件:** 由于 CentOS 7 已经停止维护,你可以从 Docker 官方网站下载适用于 CentOS 的稳定版 Docker 镜像 tarball 和 Docker Compose 的二进制文件,保存到本地。 对于 Docker,访问:https://download.docker.com/linux/centos/7/x86_64/stable/Packages/ 下载 `docker-ce.x86_64.rpm` 文件。 对于 Docker Compose,访问:https://github.com/docker/compose/releases 找到适合版本的 `docker-compose-VERSION-x86_64-linux.tar.gz` 文件。 **2. 安装 Docker:** 创建一个新的目录并解压下载的 Docker rpm 包: ``` mkdir docker-offline cd docker-offline wget -O docker-ce.rpm <path_to_your_docker_rpm_file> ``` 然后使用 `rpm` 命令安装,指定安装路径: ``` sudo rpm -ivh --prefix=/opt/docker docker-ce.rpm ``` 记得设置 SELinux 规则允许 Docker 运行: ``` sudo semanage port -a -t http_port_t -p tcp 80 sudo semanage port -a -t https_port_t -p tcp 443 ``` 最后,启动、启用并检查 Docker 是否安装成功: ``` sudo systemctl start docker sudo systemctl enable docker systemctl status docker ``` **3. 安装 Docker Compose:** 下载 Docker Compose 并解压: ``` wget -O docker-compose <path_to_your_compose_tarball> tar xvf docker-compose-*.tar.gz ``` 将解压后的 `docker-compose` 脚本移动到系统可执行路径: ``` sudo mv docker-compose /usr/local/bin/docker-compose ``` 再次确认 Docker Compose 是否可用: ``` docker-compose --version ```
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值