Docker是一种开源的容器化平台,它允许开发人员将应用程序及其所有依赖项打包到一个独立的容器中,从而实现快速部署、可移植性和环境一致性。
一 Docker的基本概念
1.容器:Docker的核心概念是容器,它是一种轻量级、可执行的独立软件包,包含应用运行所需的一切要素,如库、系统工具、代码和运行时。容器化技术将应用程序与底层系统解耦,使得应用可以在几乎任何地方以相同的方式运行。
2.镜像:Docker镜像是一个只读的模板,包含了运行某个软件所需要的所有内容,包括代码、运行时环境、库文件、环境变量和配置文件等。通过镜像,可以创建多个容器实例。
3.仓库:Docker仓库用于存储和分发镜像,类似于Git的代码仓库。最大的公开仓库是Docker Hub,存放了数量庞大的镜像供用户下载。
二 Docker的特点
1.轻量化:Docker容器利用宿主机的操作系统内核,与宿主机共享资源,因此比传统的虚拟机更轻量化。
2.快速启动:Docker容器可以在几秒钟内启动,而传统虚拟机需要几分钟的时间。
3.可移植性:Docker容器可以在任何支持Docker的环境中运行,无论是开发环境、测试环境还是生产环境。
4.隔离性:Docker容器提供了强大的隔离性,不同容器之间互相隔离,互不干扰,保证了应用程序的安全性和稳定性。
5.易于管理:Docker提供了丰富的管理工具和API,使得容器的管理、监控和扩展变得非常简单和灵活。
三 Docker的使用场景
Docker已经广泛应用于各种场景,包括但不限于:
1.开发环境:为开发团队提供一个一致的开发环境,减少“在我机器上可以运行”的问题。
2.应用程序部署:简化应用程序的部署过程,将应用程序及其所有依赖项打包到一个可移植的Docker容器中,然后将其部署到任何运行Docker的环境中。
3.微服务架构:Docker是微服务架构的理想选择,允许开发人员将每个微服务打包成一个独立的容器,实现独立部署和扩展。
4.持续集成/持续部署(CI/CD):与CI/CD工具紧密集成,实现自动化的构建、测试和部署流程。
5.混合云/多云管理:为混合云/多云策略提供一个统一的抽象层,简化多云管理并提高应用程序的可移植性。
6.边缘计算:为边缘计算提供一个轻量级、可移植的运行时环境,降低资源消耗和复杂性。
五 Docker的安装与使用
Docker支持多种操作系统,包括Windows、MacOS和各种Linux发行版。用户可以从Docker官方网站下载适合其操作系统的Docker安装程序,并按照提示完成安装过程。安装完成后,用户可以通过Docker命令行工具或图形界面工具来管理容器和镜像。
具体安装过程可参考Docker:Docker与Nacos的下载与安装配置-CSDN博客。
六 Docker的常用命令
1.查看指令帮助
docker
2.查找MySQL镜像
docker search mysql
3.拉取MySQL镜像
docker pull mysql
4.查找正在启动的容器
docker ps
5.查找所有容器
docker ps -a
6.停止运行某一容器
docker stop 容器id
7.启动/重启某一镜像
docker start 容器id
docker restart 容器id
8.查看当前已下载镜像
docker images
七 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
docker 具体命令 --help(如docker run --help)
(二)镜像管理
查看本地镜像
docker images
搜索远程镜像
docker search [镜像名称]
拉取(下载)镜像
docker pull [镜像名称]:[标签]
删除镜像
docker rmi [镜像ID或镜像名称]
# 删除本地的一个或多个镜像。如果镜像正在被容器使用,需要先删除或停止容器。
#强制删除:
docker rmi -f [镜像ID或镜像名称]
保存镜像
docker save -o [保存的文件名].tar [镜像ID或镜像名称]
加载镜像
docker load -i [文件名].tar
(三)容器管理
新建并启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
查看正在运行的容器
docker ps
停止容器
docker ps
启动容器
docker start [容器ID或容器名称]
重启容器
docker restart [容器ID或容器名称]
删除容器
docker rm [容器ID或容器名称]
# 强制删除正在运行的容器:
docker rm -f [容器ID或容器名称]
进入容器
docker exec -it [容器ID或容器名称] /bin/bash
查看容器日志
docker logs [容器ID或容器名称]
查看容器内运行的进程
docker top [容器ID或容器名称]
查看容器详细信息
docker inspect [容器ID或容器名称]
(四)其他命令
查看Docker占用的磁盘空间
docker system df
查看Docker网络
docker network ls
创建Docker网络
docker network create [网络名称]