第10章 Docker
1.Docker与虚拟机的区别
- 虚拟机(Virtual Machine):通过虚拟化技术在物理硬件上创建一个或多个完整的虚拟计算机。每个虚拟机都包含自己的操作系统、应用程序和资源,运行在宿主机的虚拟化软件(如VMware、VirtualBox等)上。
- Docker:一种容器化平台,通过使用容器技术将应用程序及其依赖项打包在一个称为容器的单元中。Docker容器与宿主机共享操作系统内核,但相互隔离,可以在同一宿主机上运行多个容器。
2.常用命令
docker run
:运行一个新的容器。例如,docker run -it --name mycontainer ubuntu:latest /bin/bash
。docker ps
:列出当前正在运行的容器。docker images
:列出本地的镜像。docker pull
:从远程仓库拉取镜像到本地。例如,docker pull nginx:latest
。docker build
:基于Dockerfile构建镜像。例如,docker build -t myimage:1.0 .
。docker stop
:停止一个正在运行的容器。例如,docker stop mycontainer
。docker start
:启动一个已经停止的容器。docker rm
:删除一个或多个容器。
3.Docker的数据卷
- 数据卷是一种持久化存储数据的机制,可以在容器之间共享数据或者将数据持久化到宿主机上。它提供了更好的数据管理和备份能力。
4.Docker的默认网络模式
- bridge模式:这是Docker默认使用的网络模式。在这种模式下,每个容器都会分配一个唯一的IP地址,并且可以通过容器名称或者IP地址相互通信。
- host模式:在这种模式下,容器和宿主机共享同一个网络命名空间,直接使用宿主机的网络接口。
- none模式:在这种模式下,容器拥有自己的网络栈,但是不进行任何配置,通常用于一些特殊的网络场景。
5.什么是Docker Compose
- Docker Compose是一个用于定义和运行多个Docker容器应用的工具。通过一个单独的
docker-compose.yml
配置文件,可以定义整个应用的服务、网络配置、数据卷等,并使用一个命令来启动、停止或管理整个应用。