docker从安装到简单使用(中高级)

目录​​​​​​​

Dockerfile

Dockerfile微服务实战

虚悬镜像

Docker网络

Docker-compose

portainer

CAdvisor+InfluxDB+Granfana


Dockerfile

是用来构建Docker镜像的文本文件,是由一条条构建镜像所需的指令和参数构成脚本。

对比docker从安装到简单使用(中级)_明天一定.的博客-CSDN博客中的commit命令来说,可以一次构建你需要的环境,而不是去一次次的commit。

构建三个步骤:

  1. 编写Dockerfile文件
  2. docker build命令构建镜像
  3. docker run 命令运行容器

Dockerfile文件基本知识

保留字指令必须为大写字母且最少跟随一个参数

指令从上到下依次执行

#代表注释

每条指令都会创建一个新的镜像层并提交

总的来说:Dockerfile面向开发,Docker镜像是交付的标准,Docker容器是设计运维和部署。

常用保留字

1)FROM:表示当前镜像是基于哪个镜像的。
2)MAINTAINER:镜像维护者的姓名和邮箱地址。
3)RUN:容器构建时需要运行的命令。一般指额外的linux命令。
4)EXPOSE:当前容器对外暴露出的端口。
5)WORKDIR:指定在创建容器并进入容器后,终端默认登录进来的工作目录。不写默认是根目录。
6)ENV:用来在构建镜像过程中设置环境变量。
7)ADD:将宿主机目录下的文件拷贝进镜像,且ADD命令会自动处理URL和解压tar压缩包。
8)COPY:类似ADD,拷贝文件和目录到镜像中。将从构建上下文目录中<源文件>的文件/目录复制到镜像内的<目标路径>位置。但与ADD的唯一区别是COPY不会自动解压。
9)VOLUME:容器数据卷,用于数据保存和持久化工作。
10)CMD:指定一个容器启动时要运行的命令,DockerFile中可以有多个CMD命令,但只有最后一个生效,CMD会被docker run之后的参数替换。但是注意,如果DockerFile中可以有多个CMD命令,在docker build时同样会执行,但是在docker run时只会run最后一个CMD参数。会被覆盖
11)ENTRYPOINT:指定一个容器启动时要运行的命令,ENTRYPOINT的目的和CMD一样,都是指定容器启动程序及参数。不会被覆盖。

Dockerfile微服务实战

实质就是把jar包打包为镜像运行

可以参考Dockerfile微服务实战_小楼昨天又东风的博客-CSDN博客_docker部署微服务实战

虚悬镜像

仓库和标签都为none的镜像,这种镜像一般代表残缺的,不必保留

删除:docker image prune

Docker网络

四种网络模式

Docker四种网络模式 - 简书

bridge和host是最常用的

命令

[root@localhost ~]# docker network --help

Usage:  docker network COMMAND

Manage networks

Commands:
  connect     Connect a container to a network
  create      Create a network
  disconnect  Disconnect a container from a network
  inspect     Display detailed information on one or more networks
  ls          List networks
  prune       Remove all unused networks
  rm          Remove one or more networks

作用

  • 容器间的互联和通信以及端口映射
  • 容器IP变动时候可以通过服务名直接网络通信而不受影响

容器网络通信时,最好自定义网络,不要通过IP通信,要通过服务名通信。(自定义网络本身就维护好了主机名和ip的对应关系)

Docker-compose

简介

负责实现对Docker容器集群的快速编排。经常会碰到需要多个容器相互配合来完成某项任务的情况,Compose允许用户通过一个单独的docker-compose.yml模板文件(YAML 格式)来定义一组相关联的应用容器为一个项目(project)。

 Linux安装:Install Docker Compose | Docker Documentation

 sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
 docker-compose --version

 compose常用命令:Docker入门之docker-compose - minseo - 博客园

portainer

轻量级容器可视化工具 

CAdvisor+InfluxDB+Granfana

重量级容器监控工具

  • 3
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值