Docker介绍与应用

1.Docker介绍

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。是一个快速交付应用,运行应用的技术,可以将应用程序及其所需的依赖,系统函数库,环境,配置等文件一起打包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化

2.Docker架构

Docker是一个C/S架构的程序

作用
服务端Docker守护进程,负责处理Docker指令,管理镜像,容器等
客户端通过命令(本地)或RestAPI(远程)向Docker服务端发送指令

3.镜像

(1)镜像(Image)
Docker将应用程序及其所需的依赖,系统函数库,环境,配置等文件打包在一起,称为镜像
注:Docker镜像中包含完整的运行环境,包括系统函数库,仅依赖系统的Linux内核,因此可以在任意Linux操作系统上运行

(2)镜像的分层结构

层级描述
基础镜像层(BaseImage)最底层,应用依赖的系统函数库,环境,配置,文件等
中间层(Layer)在BaseImage基础上添加安装包,依赖,配置等,每次操作都形成新的一层
入口(Entrypoint)最高层,镜像运行入口,一般是程序启动的脚本和参数

(3)常用的镜像操作
注:镜像名称一般两部分组成:[repository]:[tag],没有指定tag的时候,默认是latest,代表最新版本的镜像

命令功能
docker build从Dockerfile文件中构建镜像
docker pull从托管平台拉去镜像
docker push推送镜像到托管平台
docker images查看本地镜像
docker rmi删除镜像
docker save保存镜像为一个压缩包
docker load加载压缩包为镜像

(4)Dockerfile
Dockerfile就是一个文本文件,其中包含一个个指令,用指令说明要执行什么操作来构建镜像。每一个指令都会形成一层Layer

指令说明
FROM指定基础镜像
ENV设置环境变量,可在后面指令使用
COPY拷贝本地文件到镜像的指定目录
RUN执行Linux的shell命令
EXPOSE指定容器运行时监听的端口,是给镜像的使用者看的
ENTRYPOINT镜像中应用的启动命令,容器运行时调用

4.容器

(1)容器(Container)
镜像中的应用程序运行后形成的进程就是容器,Docker会使用沙箱机制,给容器做隔离,对外不可见

(2)常用的容器操作

命令功能
docker run创建容器并运行
docker pause容器从运行状态到暂停状态
docker unpause容器从暂停状态到运行状态
docker stop容器从运行状态到停止状态
docker start容器从停止状态到运行状态
docker ps查看所有运行的容器及状态
docker logs查看容器运行日志
docker exec进入容器执行命令
docker rm删除指定容器

(3)数据卷(volume)
数据卷是一个虚拟目录,指向宿主机文件系统的某个目录(Docker在/var/lib/docker/volumes目录下创建数据卷),是容器内目录与宿主机目录之间映射的桥梁,实现容器内目录与宿主机目录的双向绑定,用于解决容器与数据耦合的问题

挂载指定目录:指定目录必须以"/“和”./"开头,如果直接以名称开头,会被识别为数据卷而非指定目录

数据卷名称或指定目录:容器内目录

(4)DockerCompose
DockerCompose通过一个单独的docker-compose.yml模板文件(YAML格式)来定义一组相关联的应用容器,帮助我们实现多个相互关联的Docker容器的快速部署

docker compose [OPTIONS] [COMMAND]

OPTIONS

参数说明
-f指定compose文件 的路径和名称
-p指定project名称

COMMAND

指令说明
up创建并启动所有service容器
down停止并移除所有容器、网络
ps列出所有启动的容器
logs查看指定容器的日志
stop停止容器
start启动容器
restart重启容器
top查看运行的进程
exec在指定运行中的容器执行命令

5.DockerHub

DockerHub是一个Docker镜像的托管平台。这样的平台称为Docker Registry(国内也有网易云镜像服务,阿里云镜像库)

  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

码届艺术家

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

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

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

打赏作者

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

抵扣说明:

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

余额充值