Docker

Docker

一、初识Docker

1.1为何用docker

  • 解决依赖冲突与运行环境的差别,快速部署程序,如快速部署微信,还可多开微信,和多个咩咩聊天

本链接转载自:http://t.csdn.cn/OXFns
在这里插入图片描述
在这里插入图片描述

1.Docker与虚拟机的区别

在这里插入图片描述在这里插入图片描述

2.Docker架构

在这里插入图片描述
在这里插入图片描述

二、Docker操作

2.1 docker镜像命令

dockerhub地址查看镜像内容:https://hub.docker.com/repositories
systemctl restart docker.service 重启Docker服务
【option】:【version】 镜像版本
docker -v 查看版本
docker [option] --help 命令帮助文档
docker images 查看镜像
docker rmi 删除镜像
docker pull 拉取镜像从仓库
docker push 推送镜像
docker save 打包镜像
docker load 从压缩包中解压镜像
docker build -t [镜像名]:[版本]
在这里插入图片描述

2.2 docker容器命令

docker run --name mn -p 80:80 -d nginx
docker run 创建并运行一个容器
–name 命名容器名
-p 端口映射,左边为宿主端口,右边为
-d 指定后台运行
nginx 创建容器的镜像
docker ps -a 【容器名】查看所有容器状态
docker logs -f容器名】 日志跟踪
docker stop 【容器名】 停止容器运行
docker start 【容器名】 开启容器运行
docker exec -it 【容器名 】 bash 进入容器
docker update 容器id --restart=always自动重启容器

在这里插入图片描述

2.3 docker数据卷

2.3.1为何使用数据卷

解决容器与数据耦合问题
1.进入容器内部修该数据麻烦
2.数据不可复用只能挨个修改容器数据
3.升级困难,升级容器必然会删除容器

2.3.2数据卷是什么
  • 是一个虚拟目录,指向宿主机系统某个文件,容器内部文件与数据卷进行关联,容器内部文件就通过数据卷与宿主机文件建立起映射关系。将容器与数据分离,解耦合,方便操作容器内数据,保证数据安全,可复用
    在这里插入图片描述
2.3.3 操作数据卷命令

docker volume [option]
docker volume create 创建数据卷
docker volume rm 删除一个或多个数据卷
docker volume prune 删除未使用的数据卷
docker volume ls 查看数据卷
docker volume inspect 查看指定数据卷内容
mountpoint 数据卷挂载点数据卷位置

2.3.3 挂载数据卷

数据卷挂载方式:
-v volumeName:/targetContainerPath
volumeName:数据卷名称
targetContainerPath 要挂载的容器内部文件路径
在这里插入图片描述

2.3.3数据卷挂载与目录挂载对比

数据卷挂载:与容器内部文件绑定,由docker来创建管理目录,目录在宿主机上,宿主机文件覆盖容器内部文件
目录挂载:需要自己管理创建目录,比较好维护
在这里插入图片描述
在这里插入图片描述

2.4 Dockerfile自定义镜像

2.4.1镜像结构
  • 镜像是将应用程序及其需要的系统函数库,环境,配置,依赖打包

  • 底层函数库->环境配置->依赖安装->应用安装->应用配置
    在这里插入图片描述
    简单来说我们要构建一个镜像,就是在系统函数库,运行环境的基础上,添加应用的程序文件,依赖文件,配置文件等组合,打包成一个镜像,然后编写好镜像启动脚本,打包在一起。

2.4.2Dockerfile指令

在这里插入图片描述

  • 在每个java项目部署之前,都要构建系统函数库,运行环境,当部署的项目较多时我们可以将这些步骤打包成一个镜像java:8-alpine
    我们的java项目只要基于java:8-alpine来构建即可

构建步骤:
在这里插入图片描述
3.编写Dockerfile文件

基于此镜像构建项目
FROM java:8-alpine
# 拷贝jdk和java项目的包
COPY ./docker-demo.jar /tmp/app.jar
# 暴露端口
EXPOSE 8090
# 入口,java项目的启动命令
ENTRYPOINT java -jar /tmp/app.jar

4jdk,jar包,dockerfile放在同一个目录中(虚拟机上为root/tmp/docker-demo)
在这里插入图片描述

5.构建镜像

docker build -t javaweb:2.0 .

镜像名javaweb,2.0版本 . 当前目录
6.运行并创建容器
docker run --name javawe -p 8090:8090 -d 镜像名:版本名

2.5 DockerCompose

部署微服务集群,有需要再看(黑马)58~60

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值