【docker】dockerfile、docker-compose(docker的脚本)


前言

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


一、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(连接待更新)

三、思维导图

在这里插入图片描述

四、结语

  • 一个字:背
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

雪碧不要气

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值