Docker-安装(Linux,Windows)

目录

前言

本文主要说明Docker及其相关组件,在Linux和Windows上的安装步骤。

安装版本

  • Docker版本为:24.0.5 Docker社区版
  • Linux版本:CentOS 7.9
  • 虚拟机版本:VMware Workstation 16
  • Windows版本:Windows11 2022H2

Docker版本说明

  • Docker-ce Docker社区版,主要用于个人开发者测试使用,免费版本
  • Docker-ee Docker企业版,主要用于为企业开发及应用部署使用,收费版本,免费试用一个月,2020年因国际政治原因曾一度限制中国企业使用。

前提条件

  • 在Vmware虚拟机中已安装好CentOS 7.9。且虚拟机可以通过ssh访问。
  • 登录linux后,执行firewall-cmd --state确认防火墙已关闭。
  • 执行iptables -nL,继续确认网络。
  • 执行sestatus确保selinux为disable状态

Linux安装

使用YUM源部署

YUM源可以使用官方YUM源、清华大学开源镜像站配置YUM源,也可以使用阿里云开源镜像站提供的YUM源,建议选择使用阿里云开源镜像站提供的YUM源,原因速度快。

获取阿里云开源镜像站YUM源文件

可以直接访问这个网址:https://developer.aliyun.com/mirror/docker-ce?spm=a2c6h.13651102.0.0.4c9b1b119z027O,如果网址失效,可以在百度上搜索关键字:"阿里云开源镜像站"。

在打开的网站上找到如下图中的地址

在Linux中执行如下命令:

shell 复制代码
在docker host上使用 wget下载到/etc/yum.repos.d目录中即可。
# wget -O /etc/yum.repos.d/docker-ce.repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

以下是执行结果:
--2023-08-29 23:13:40--  https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)... 27.128.223.241, 221.230.245.103, 120.39.195.185, ...
正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|27.128.223.241|:443... 已连接。
已发出 HTTP 请求,正在等待回应... 200 OK
长度:2081 (2.0K) [application/octet-stream]
正在保存至: "/etc/yum.repos.d/docker-ce.repo"

100%[===========================================================================================================================>] 2,081       --.-K/s 用时 0s      

2023-08-29 23:13:40 (1000 MB/s) - 已保存 "/etc/yum.repos.d/docker-ce.repo" [2081/2081])

查看当前主机yum源
[root@~]# yum repolist

执行命令yum repolist,如果看到关键字docker-ce-stable,代表可用。

安装Docker-ce

在docker host上安装即可,本次使用YUM源中稳定版本,由于版本在不断更新,不同的时间安装版本也不相同,使用方法基本一致。

shell 复制代码
直接安装docker-ce,此为docker daemon,所有依赖将被yum自动安装,含docker client等。
# yum -y install docker-ce

配置Docker Daemon启动文件

由于Docker使用过程中会对Centos操作系统中的Iptables防火墙中的FORWARD链默认规划产生影响及需要让Docker Daemon接受用户自定义的daemon.json文件,需要要按使用者要求的方式修改。

powershell 复制代码
# vi /usr/lib/systemd/system/docker.service

具体操作见下图,删除这个部分:" -H fd:// --containerd=/run/containerd/containerd.sock"

新增这个部分:"ExecStartPost=/sbin/iptables -P FORWARD ACCEPT"

启动Docker服务并查看已安装版本

shell 复制代码
重启加载daemon文件(也可以直接执行下面的命令,报错在执行这个)
# systemctl daemon-reload

启动docker daemon
# systemctl start docker

设置开机自启动
# systemctl enable docker
shell 复制代码
使用docker version客户端命令查看已安装docker软件版本
# docker version
Client: Docker Engine - Community 客户端
 Version:           20.10.12
 API version:       1.41
 Go version:        go1.16.12
 Git commit:        e91ed57
 Built:             Mon Dec 13 11:45:41 2021
 OS/Arch:           linux/amd64
 Context:           default
 Experimental:      true

Server: Docker Engine - Community Docker管理引擎
 Engine:
  Version:          20.10.12
  API version:      1.41 (minimum version 1.12)
  Go version:       go1.16.12
  Git commit:       459d0df
  Built:            Mon Dec 13 11:44:05 2021
  OS/Arch:          linux/amd64
  Experimental:     false
 containerd:
  Version:          1.4.12
  GitCommit:        7b11cfaabd73bb80907dd23182b9347b4245eb5d
 runc:
  Version:          1.0.2
  GitCommit:        v1.0.2-0-g52b36a2
 docker-init:
  Version:          0.19.0
  GitCommit:        de40ad0

2.1.5 卸载docker

sh 复制代码
停止docker服务
# systemctl stop docker
使用yum命令卸载docker组件
# yum remove docker-ce containerd.io docker-ce-cli

更详细的卸载方法详见官方文档

使用二进制文件部署

官方不建议此种部署方式,主要因为不能自动更新,在条件有限制的情况下才使用。

二进制安装参考网址:https://docs.docker.com/engine/install/binaries/

二进制安装包下载地址,打开后,根据uname -r命令结果,来选择对应的内核版本,一般会选x86_64

根据时间选择最新版本,本文用的是:docker-24.0.5.tgz。

找到后,如果不想用浏览器自带的下载工具下载,可以复制链接,然后在linux中使用wget下载。也可以用第三方下载工具下载,下载完了在传到linux里面。

shell 复制代码
获取二进制文件,此文件中包含dockerd与docker 2个文件。
# wget https://download.docker.com/linux/static/stable/x86_64/docker-24.0.5.tgz

下载完毕之后,解压下载的文件
# tar xf docker-24.0.5.tgz
查看解压出的目录,docker
# ls docker
containerd       containerd-shim-runc-v2  docker   docker-init   runc
containerd-shim  ctr                      dockerd  docker-proxy

安装解压后的所有二进制文件
# cp docker/* /usr/bin/

运行Daemon
# dockerd &

回车后会有大量的信息输出,停止后,直接回车即可使用。
如果您需要使用其他选项启动守护程序,请相应地修改上述命令或创建并编辑文件`/etc/docker/daemon.json` 以添加自定义配置选项。

确认是否可以使用docker客户端命令
# which docker
/usr/bin/docker

使用二进制安装的docker客户端
# docker version
Client:
 Version:           24.0.5
 ......

Windows安装

在Windows下安装Docker需要下载Docker Desktop。官网下载地址

Docker Desktop和Vmware不兼容,安装上之后可能会导致Vmware虚拟机无法启动。

将Docker Desktop卸载之后,需要重装VMware Workstation 16,才能正常使用VMware。

推荐大家在Linux中的使用Docker,绝大部分企业环境用的还是Linux。

实现原理

docker desktop可以在windows 上来运行docker的应用服务,是基于windows的Hyper-V服务和WSL2内核在Windows上创建了一个子系统(linux),从而实现其在windows上运行docker。所以电脑上需要开启Hyper-V服务和安装WSL2。

实测目前最新的安全包会自动开启Hyper-V服务,但是WSL服务需要手动更新到最新版。微软WSL更新程序下载

以下是安装步骤,大家也可以参考这篇文章,写的更详细。

安装步骤

  1. 下载完安装包后,双击即可开始安装。
  2. 默认安装到C盘,无法选择安装路径。其他安装选项保持默认即可。
  3. 等待一段时间后,安装结束,双击桌面上的Docker Desktop图标。
  4. 可能会弹出一段声明,大体意思是Docker Desktop个人或者小型企业使用免费,中大型企业使用收费。点accept即可
  5. 6. 然后点"Continue without signing in",不注册使用。
  6. 然后就可以看到主界面了。

基本使用




参考说明

本文内容主要来源于马士兵视频教程(容器管理工具 Docker),结合了老师的笔记以及自己的实践做了一些修改。

相关推荐
阿尔帕兹1 小时前
构建 HTTP 服务端与 Docker 镜像:从开发到测试
网络协议·http·docker
孤客网络科技工作室1 小时前
VMware 虚拟机使用教程及 Kali Linux 安装指南
linux·虚拟机·kali linux
颇有几分姿色2 小时前
深入理解 Linux 内存管理:free 命令详解
linux·运维·服务器
AndyFrank2 小时前
mac crontab 不能使用问题简记
linux·运维·macos
ZHOU西口2 小时前
微服务实战系列之玩转Docker(十八)
分布式·docker·云原生·架构·数据安全·etcd·rbac
筱源源3 小时前
Kafka-linux环境部署
linux·kafka
plmm烟酒僧3 小时前
Windows下QT调用MinGW编译的OpenCV
开发语言·windows·qt·opencv
算法与编程之美3 小时前
文件的写入与读取
linux·运维·服务器
xianwu5434 小时前
反向代理模块
linux·开发语言·网络·git
Amelio_Ming4 小时前
Permissions 0755 for ‘/etc/ssh/ssh_host_rsa_key‘ are too open.问题解决
linux·运维·ssh