Docker介绍
Docker是一种开源的容器化平台,用于构建、部署和运行应用程序。它通过容器的方式将应用程序及其相关依赖项打包在一起,形成一个独立、可移植的运行环境。
以下是Docker的主要特点和优势:
- 轻量级和快速:Docker使用容器来隔离应用程序,每个容器都运行在独立的进程中,相比传统虚拟机更加轻量级且启动速度更快。
- 跨平台和可移植:Docker容器可以在不同的操作系统和硬件平台上运行,提供了高度的可移植性,使得应用程序的部署更加灵活和便捷。
- 隔离和安全:Docker容器提供了隔离的运行环境,每个容器之间相互隔离,不会相互影响。同时,Docker也提供了各种安全机制,保护容器中的应用程序免受外部威胁。
- 易于管理和扩展:Docker提供了一套完整的工具和命令行接口,用于管理容器的创建、启动、停止和删除等操作。同时,通过Docker的集群管理工具,可以轻松实现容器的扩展和负载均衡。
- 版本控制和复用:Docker将应用程序及其依赖项打包成镜像,镜像可以进行版本控制和复用,方便团队协作和持续集成/持续部署(CI/CD)流程。
- 生态系统丰富:Docker拥有庞大的社区和生态系统,提供了大量的官方和第三方镜像,可以快速获取和部署各种常用的应用程序和服务。
总的来说,Docker是一项强大的容器化技术,能够提供轻量级、跨平台、隔离安全的应用程序运行环境,极大地简化了应用程序的部署和管理过程,并促进了软件开发和交付的效率和可靠性。
Docker安装
Docker官方安装文档:https://docs.docker.com/get-docker/。
Docker 分为 CE 和 EE 两大版本。CE 是社区版(免费,支持周期 7 个月),EE 是企业版,强调安全,付费使用,支持周期 24 个月。
Docker可以运行在Mac、Windows、Linux等操作系统上。我们这里基于CentOS 7.x 安装Docker CE。
注意:建议安装在CentOS 7.x以上的版本,在CentOS 6.x的版本中,安装前需要安装其他很多的环境而且Docker很多补丁不支持更新。
Docker CE分为一下3步,参考:https://docs.docker.com/engine/install/centos/ 或者 https://developer.aliyun.com/article/110806 CentOS 7 (使用yum进行安装) 。
- 安装yum工具,命令说明:
# 安装必要的一些系统工具 yum install -y yum-utils device-mapper-persistent-data lvm2
- 然后更新本地镜像源,命令说明:
# 设置yum源为阿里云 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo # 更新yum yum makecache fast
- 安装Docker,命令说明:
# 安装Docker 社区版 yum install -y docker-ce
等待安装,直到成功!
安装后查看docker版本
docker -v
操作示例:
[root@cxypa ~]# docker -v Docker version 20.10.22, build 3a2c30b
可以看到当前安装的Docker版本是20.10.22
。
安装注意:注意事项在下面的注释中。
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,你可以通过以下方式开启。同理可以开启各种测试版本等。 # vim /etc/yum.repos.d/docker-ce.repo # 将 [docker-ce-test] 下方的 enabled=0 修改为 enabled=1 # # 安装指定版本的Docker-CE: # Step 1: 查找Docker-CE的版本: # yum list docker-ce.x86_64 --showduplicates | sort -r # Loading mirror speeds from cached hostfile # Loaded plugins: branch, fastestmirror, langpacks # docker-ce.x86_64 17.03.1.ce-1.el7.centos docker-ce-stable # docker-ce.x86_64 17.03.1.ce-1.el7.centos @docker-ce-stable # docker-ce.x86_64 17.03.0.ce-1.el7.centos docker-ce-stable # Available Packages # Step2 : 安装指定版本的Docker-CE: (VERSION 例如上面的 17.03.0.ce.1-1.el7.centos) # sudo yum -y install docker-ce-[VERSION] # 注意:在某些版本之后,docker-ce安装出现了其他依赖包,如果安装失败的话请关注错误信息。例如 docker-ce 17.03 之后,需要先安装 docker-ce-selinux。 # yum list docker-ce-selinux- --showduplicates | sort -r # sudo yum -y install docker-ce-selinux-[VERSION] # 通过经典网络、VPC网络内网安装时,用以下命令替换Step 2中的命令 # 经典网络: # sudo yum-config-manager --add-repo http://mirrors.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo # VPC网络: # sudo yum-config-manager --add-repo http://mirrors.could.aliyuncs.com/docker-ce/linux/centos/docker-ce.repo
配置Docker镜像加速
Docker官方镜像仓库网速差,需要设置国内镜像服务。下列提供2中方式修改Docker镜像加速。
- 参考阿里云的镜像加速文档:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
- 使用
USTC
提供的镜像加速:https://lug.ustc.edu.cn/wiki/mirrors/help/docker/
可以通过修改daemon配置文件/etc/docker/daemon.json
来使用加速器。下列使用的是USTC
提供的镜像加速。
操作示例:
mkdir -p /etc/docker tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"] } EOF systemctl daemon-reload systemctl restart docker
Docker服务命令
安装好Docker后,Docker会自动配置一个名为docker
的服务,需要手动启动这个服务。下列是操作服务的命令说明。
# 启动docker服务 systemctl start docker # 停止docker服务 systemctl stop docker # 重启docker服务 systemctl restart docker # 查看docker服务状态 systemctl status docker # 设置开机启动docker服务 systemctl enable docker # 查看docker概要信息 docker info # 查看docker帮助文档 docker --help
操作示例:
[root@cxypa ~]# systemctl start docker [root@cxypa ~]# systemctl status docker ● docker.service - Docker Application Container Engine Loaded: loaded (/usr/lib/systemd/system/docker.service; disabled; vendor preset: disabled) Active: active (running) since 五 2022-12-30 17:15:40 CST; 6min ago Docs: https://docs.docker.com Main PID: 46425 (dockerd) Tasks: 9 Memory: 25.3M CGroup: /system.slice/docker.service └─46425 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
卸载Docker
Docker卸载参考:https://docs.docker.com/engine/install/centos/
yum remove docker \ docker-client \ docker-client-latest \ docker-common \ docker-latest \ docker-latest-logrotate \ docker-logrotate \ docker-engine