Linux
1、常用命令:
- cat:查看文件内容
- cd:切换目录
- ifconfig或ip addr:用于查看网络接口的地址和参数
- pwd:显示当前目录的绝对路径
- ls/ll:查看当前目录下的所有文件
- touch:创建文件
- mkdir:创建目录
其他Linux和Docker的常用命令看这篇:部署问题集合(特辑)虚拟机常用命令
Docker
1、镜像与容器的关系
- 镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等
- 基于一个镜像可以创造多个容器,各个容器之间相互独立,互不干扰
2、常用命令
- docker ps -a:查看所有容器
- docker images:查看所有镜像
- docker rm -f 容器ID:强制删除指定容器
- docker rmi 镜像ID:删除指定镜像
- docker pull mysql:5.7 # 拉取mysql镜像
- docker logs -f --tail 100 容器ID:查看容器日志
其他Linux和Docker的常用命令看这篇:部署问题集合(特辑)虚拟机常用命令
3、DockerFile
- Dockerfile 是一个文本文件,其中包含我们需要运行以构建 Docker 镜像的所有命令,每一条指令构建一层,因此每一条指令的内容,就是描述该层应当如何构建。
- Docker 通过docker build使用 Dockerfile 中的指令自动构建自定义镜像
#使用当前目录下的Dockerfile构建一个名为my-image的镜像,并指定tag为tag。
docker build -t my-image:tag
#Dockerfile中的内容
FROM:指定基础镜像
ENV:设置环境变量
RUN:运行指定的命令
CMD:容器启动时要运行的命令
4、DockerCompose
- Docker Compose 是用于定义和运行多容器 Docker 应用程序的工具,可以通过一个命令从 yaml文件配置中创建并启动所有服务。
- yaml配置实例如下:
# yaml 配置实例
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
- logvolume01:/var/log
links:
- redis
redis:
image: redis
volumes:
logvolume01: {}
5、镜像的分层结构
- 基础层(Base Layer): 基础层通常包含了操作系统和最基本的应用程序。在 Dockerfile 中,FROM 指令用于指定基础镜像,它构成了镜像层叠的起点。
- 中间层(Intermediate Layers): 当 Dockerfile 执行 RUN、COPY、ADD
等指令时,每执行一个指令,就会在基础层之上创建一个新的层。这些层被称为中间层,它们代表了对基础层的修改。 - 最终层(Final Layer): 最终层是镜像构建过程中添加的最后一层。在 Dockerfile 中,通常这是通过 CMD 或 ENTRYPOINT 指令定义的,它指定了容器启动时默认执行的命令。
- 分层模式的优点在于基础层可以共享和复用,节省存储空间;中间层会进行缓存,若后续没有修改,可以直接使用复用该层,提高构建效率