本文主要用于记录总结,以及分享给大家,如有错误请指正,共同学习进步!!!
目录
配置国内源镜像:配置步骤https://blog.csdn.net/Hollyswood/article/details/136105629
1.3、docker-compose和docker compose区别
一、Docker
1.1 什么是Docker?
Docker 是一个开源的应用容器引擎,它允许开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(除非通过端口映射),并且可以实现对系统的资源隔离和限制。
1.2 核心功能
具体来说,Docker 提供了以下几个核心功能:
- 容器化: Docker 使用操作系统级别的虚拟化技术,将应用程序及其运行环境(包括库、配置文件等)全部封装在一个轻量级可执行单元——容器(Container)内。每个容器都是独立运行的一个进程空间,拥有自己的文件系统、网络配置和计算资源限制。
- 镜像管理: Docker 镜像(Image)是一个只读模板,用于创建 Docker 容器。用户可以从基础镜像开始构建自定义镜像,并且可以通过 Dockerfile 文件来描述如何制作镜像。
- 快速部署与扩展: 由于 Docker 容器启动速度快,消耗资源少,使得应用程序可以在几秒钟内完成部署,并能轻松进行水平扩展。
- 一致的运行环境: Docker 确保在不同的开发、测试和生产环境中提供一致的应用程序运行环境,这对于 DevOps 流程至关重要。
- 资源隔离与安全性: Docker 利用Linux内核提供的cgroups和namespaces等技术,实现了不同容器之间的资源隔离,如CPU、内存、磁盘I/O等,并通过权限控制等方式增强了容器的安全性。
- 跨平台支持: 虽然 Docker 最初是为 Linux 平台设计的,但现在也提供了对 Windows 和 macOS 的支持,能够在这两个平台上运行 Linux 容器。
总结起来,Docker 是一个强大的工具,它可以简化应用程序的打包、分发和部署流程,极大地提升了软件交付的速度和效率。
1.3 、安装
安装环境:centos7。基本以yum方式进行安装,如果之前安装过,想要全新安装的可以先卸载。
1.3.1、 安装必要的一些系统工具
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
1.3.2、添加软件源信息(阿里的源)
#添加了 Docker CE 的仓库
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
#更新软件包列表信息
yum makecache fast
# 查看docker repo
ls /etc/yum.repos.d | grep docker
docker-ce.repo
1.3.3、安装docker
# 安装docker-ce最新版
yum install docker-ce -y
配置国内源镜像:配置步骤https://blog.csdn.net/Hollyswood/article/details/136105629
1.3.4、安装指定版本docker
如何对docker版本有要求,可用指定安装版本,命令如下:
yum list docker-ce --showduplicates | sort -r
命令解释:
- yum list docker-ce:显示出当前仓库中所有与 docker-ce 相关的软件包,通常是可用的最新版本。
- --showduplicates:显示仓库中同一软件包的不同版本,而不仅仅是最新版本,这对于特定历史版本安装很方便。
- | sort -r:竖线是通道的意思,对|之前的结果进行sort配许操作,-r代表降序,总的来说就是按照版本好降序,最前面的是最新版本。
#安装指定版本的docker-ce,只要软件包后面带上版本号即可。
yum install -y docker-ce-18.06.0.ce-3.el7
#此版本开始,依赖docker-compose-plug了,后续版本不在需要单独安装docker-compose
yum install -y docker-ce-18.09.0-3.el7
1.4、启动Docker
systemctl start docker
1.5、配置Docker开机自启
systemctl enable docker
1.6、卸载
要卸载正在运行的 Docker 环境时,需要遵循以下步骤来安全地停止所有容器、卸载 Docker 相关软件包,并清理相关数据
#1.停止所有正在运行的 Docker 容器
sudo docker stop $(sudo docker ps -aq)
#2.如果有任何守护进程相关的容器(如 dockerd),确保它们也已停止
sudo systemctl stop docker
sudo systemctl disable docker
#2.1 确保Docker 服务和其关联的 socket 都将保持关闭状态,不会因为任何外部触发而自动启动
sudo systemctl stop docker.socket
sudo systemctl disable docker.socket
#3.移除所有未被其他容器引用的镜像(可选,但推荐)
# 注意这可能不会删除基础镜像和其他标记的镜像
sudo docker rmi $(sudo docker images -q)
#4.列出已经安装docker相关的软件包
yum list installed |grep docker
#5.卸载 Docker 软件包及其依赖
sudo yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin -y
#6.清理 Docker 的配置文件和数据目录
sudo rm -rf /etc/docker
sudo rm -rf /var/lib/docker
sudo rm -rf /usr/libexec/docker
#7.如果在卸载过程中有挂载点无法解除挂载,则先执行 umount 操作(仅当需要时)
sudo umount /var/lib/docker/devicemapper
#8.最后,检查系统服务列表以确认 Docker 服务已被移除(可选)
systemctl list-unit-files | grep docker
#当然也可以用find命令查找docker相关文件,部分文件不需要删,重启后自动没了,比如proc和share目录下的
find / -name docker*
find / \
-path '/etc/yum.repos.d' -prune -o \
-path '/var/lib/yum' -prune -o \
-path '/proc' -prune -o \
-path '/var/cache' -prune -o \
-name docker* -print
完成上述步骤后,Docker 将从系统中完全卸载并删除。不过,请注意,这些操作将删除所有与 Docker 相关的数据,包括镜像、容器以及未保存状态的卷。如果您希望保留某些数据,请在卸载前做好备份工作。
二、Docker-compose
1.1 什么是Docker-compose
Docker Compose 是 Docker 官方提供的一款工具,用于定义和运行多容器的 Docker 应用程序。它通过一个名为 docker-compose.yml 的 YAML 文件来描述整个应用的服务、网络和数据卷配置,使得开发者可以轻松地在一个文件中定义并管理多个相互依赖的 Docker 容器。
使用 Docker Compose 时,只需要执行一条命令(如 docker-compose up),就可以自动创建并启动所有在配置文件中定义的服务及其关联的网络和存储资源。这极大地简化了开发、测试和部署基于容器的应用的过程,并且使得多容器应用的环境一致性得到保证。
此外,Docker Compose 还支持便捷的命令来进行服务的启停、重启、构建镜像、查看日志等操作,极大提高了对多容器应用的管理效率。
总结来说,Docker Compose 提供了一种声明式的、面向应用层面的编排方法,使得复杂分布式应用程序可以在本地开发环境中快速搭建,并且方便地迁移到生产环境。
1.2、下载
docker-compose版本:v2.24.5,其它版本可以自行修改
官网下载(可能比较慢,不推荐)
#使用curl下载
sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#使用wget下载
wget https://github.com/docker/compose/releases/download/v2.24.5/docker-compose-$(uname -s)-$(uname -m)
mv docker-compose-$(uname -s)-$(uname -m) /usr/bin/docker-compose
二进制文件下载
https://github.com/docker/compose/releases
在github releases中,下载如上图所示的docker-compose-linux-x86_64二进制文件,不同系统可根据需要自行选择
# 假设下载后文件上传到某个目录,然后移动到/usr/local/bin目录
mv docker-compose-linux-x86_64 /usr/bin/docker-compose
网盘下载
链接:百度网盘 请输入提取码 提取码:zual
# 假设下载后文件上传到某个目录,然后移动到/usr/local/bin目录
mv docker-compose-linux-x86_64 /usr/bin/docker-compose
添加执行权限
chmod +x /usr/local/bin/docker-compose
验证Docker-compose
docker-compose --version
Docker Compose version v2.24.5
至此,docker-compose安装完成了。
注:新版本的Docker CE 已经包含了docker compose,作为插件存在,docker-compose-plug,是不需要安装docker-compose,所以如果安装了新版本的docker-ce,是不需要再次单独安装了。
1.3、docker-compose和docker compose区别
Compose分为V1和V2版本,安装方式分为两种,独立安装和插件式安装。V1版本的Compose不支持插件式安装的。
- standalone(独立安装):不论是V1还是V2版本,命令都是docker-compose,中间带下划线
- plug(插件式安装):在V2版本,命令是docker compose(中间空格),最新版的docker安装都会自动以插件的形式安装docker compose。
- 支持同时采用两种方式安装Compose,安装后可以同时使用两种方式的命令:docker-compose和docker compose。