Docker

Docker

是什么?

Docker 是一个快速交付应用、运行应用的技术

怎么做的?

1、允许开发中将应用、依赖、函数库、配置一起打包,形成可移植镜像

2、应用运行在容器中,使用沙箱机制,相互隔离

docker 的两个重要概念:

1、镜像(images):docker 将应用程序所需的依赖、函数库、环境、配置文件打包在一起就成了镜像;

2、容器(container):镜像中的应用程序运行后形成的进程就是容器,知识docker 会给容器做隔离,对外不可见,一般通过和宿主机建立端口映射来访问

!!! 镜像文件 是只读的

Docker 和虚拟机的区别?

docker 是一个系统进程,虚拟机是基于操作系统之上的操作系统, docker 体积小、速度快、性能好,

虚拟机相反,体积很大、速度较慢、性能一般

docker 常用命令
拉取镜像:docker pull 镜像名称:版本号(不给版本号就默认最新版latest)
查看镜像:docker images (所有的镜像)
删除镜像:docker rmi 镜像名称
将已有的镜像打包为压缩包:docker save -o 打包后的文件名.tar
加载镜像文件:docker load -i 镜像文件.后缀名
容器操作命令
运行容器:docker run --name 容器名称 -p 80:80 -d 镜像名称 (-p:是指定端口映射,左边是宿主机,右边是容器。-d:是后台运行)
停止运行的容器:docker stop -t 秒数(单位秒,默认10秒) 容器名称
启动停止的容器:docker start 容器名
暂停容器运行:docker pause 容器名
继续运行:docker unpause 容器名
删除容器:docker rm 容器名 (正在运行的容器不能删)
查看容器日志:docker logs 容器名 (添加 -f 可以动态查看日志)
查看容器状态:docker ps (后面加 -a 查看所有容器,包括已经停止的)

数据卷

数据卷的作用

将容器与数据分离,解耦合,方便操作容器内数据,保证数

据安全

可以通过创建容器时,将数据卷一并创建好
docker run \
    --name mn \           这是创建的容器名
    -v html:/root/html \   这是建立数据卷与宿主机的指定目录挂载
    -p 8080:80             这是映射的端口
    nginx \             这是指定的镜像

Dockerfile 自定义镜像(了解)

· 通过已经生成的镜像,生成自己的镜像

# 指定基础镜像
FROM java:8-alpine   
# 拷贝自己的项目文件 docker-demo.jar
COPY ./docker-demo.jar /tmp/app.jar
# 暴露端口
EXPOSE 8090
# 入口,java项目的启动命令
ENTRYPOINT java -jar /tmp/app.jar
Docker基础镜像可以是基本操作镜像,也可以是别人制作好的镜像 这里常用的是 java:8-alpine

DockerCompose

本质是一个文件,用于快速编排服务、创建容器,但是限于单机

分布式多用的K8S

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值