文章目录

  • 前言
  • 一、dockerfile(单机脚本)
  • 1.1 概念
  • 1.2 分层原理
  • 1.3 dockerfile核心四步
  • 1.4 命令关键字
  • 1.5 dockerfile安装LNMP
  • 二、docker-compose(联机脚本)
  • 2.1 概念
  • 2.2 注意事项
  • 2.3 常用字段
  • 2.4 常用命令
  • 2.5 docker-compose安装lnmp(连接待更新)
  • 三、思维导图
  • 四、结语



前言

本博客内容仅为记录博主思路,仅供参考,一切以自己实践结果为准。


一、dockerfile(单机脚本)

1.1 概念

  • 通过脚本,生成一个镜像,并运行对应的容器,一次只能生成一个镜像

1.2 分层原理

  • 镜像分层
  • 每一层都会把上一层镜像作为父镜像
  • 可以将不同目录挂载到同一个虚拟文件系统下

  • 涉及技术
  • bootfs:利用宿主机的bootfs引导加载内核
  • rootfs:基于bootfs创建rootfs,含/etc,/bin等各类目录

1.3 dockerfile核心四步

  • FROM:指定基础镜像
  • MAINTAINER:编写维护者信息
  • RUN/ADD…:构成镜像的相关命令
  • CMD:容器启动时执行的命令

1.4 命令关键字

关键字

释义

FROM

指定基础镜像

MAINTAINER

编写维护者信息

RUN

新镜像中执行的命令

CMD

容器启动时执行的第一条命令

EXPOSE

容器暴露的端口号

ENV

指定环境变量

ADD

复制文件到镜像中(会解压/网页下载)

COPY

复制文件到镜像中(只能复制本地/不会自动解压)

VOLUME

创建一个挂载点

USER

指定容器运行的用户

WORKDIR

临时切换目录(不会生成镜像层数)

ONBULID

将生成的镜像作为一个基础镜像

HEALTHCHECK

启动健康检查功能

1.5 dockerfile安装LNMP

dockerfile安装lnmp


二、docker-compose(联机脚本)

2.1 概念

  • 一次能创建多个docker容器的工具,且不再需要shell来启动脚本,类似于一次运行多个dockerfile

2.2 注意事项

  • 注意大小写
  • 通过缩进表示层级关系
  • 不支持tab缩进
  • 符号的后方需要有空格

2.3 常用字段

字段

释义

build

指定dockerfile文件

dockerfile

构建docker的上下文(谁先谁后)

context

可以是dockerfile的路径或者仓库

image

指定镜像

command

执行命令

containername

指定容器名称

deploy

指定部署和运行服务的配置

environment

添加环境变量

networks

添加网络(顶级条目)

ports

暴露对应的端口号

volumes

挂载宿主机数据卷到容器

volumes_from

挂载旧容器的数据卷到新容器}

hostname

设置容器主机名

sysctls

设置容器内核参数

links

连接到另一个容器

restart

设置重启策略

2.4 常用命令

命令

释义

build

重新构建服务

ps

列出容器

exec

在容器里面执行命令

up

创建和启动容器

scale

指定一个服务器启动数量

top

显示容器进程

logs

查看容器输出日志

down

删除容器、网络、数据卷和镜像

stop/start/restart

停止/启动/重启服务

2.5 docker-compose安装lnmp(连接待更新)

三、思维导图

docker run的时候运行脚本 参数 docker执行脚本_docker

四、结语

  • 一个字:背