Navicat for Premium 9.0.2激活(Docker 概述及详细安装使用)

Navicat for Premium 9.0.2激活(Docker 概述及详细安装使用)

Docker 概述及安装

在这里插入图片描述

在这里插入图片描述

安装Docker

在这里插入图片描述

帮助文档



在这里插入图片描述

了解:卸载docker


阿里云镜像加速

1.登录阿里云

在这里插入图片描述

2.找到镜像加速地址

在这里插入图片描述

3.配置使用


回顾 hello-world 流程

在这里插入图片描述

在这里插入图片描述

底层原理

docker是怎么工作的?

Docker是一个Client-Server结构的系统,Docker的守护进程运行在主机上。通过Socket从客户端访问!

DockerServer接收到Docker-Client的指令,就会执行这个命令!

在这里插入图片描述

Docker为什么比VM快?

1.Docker有这比虚拟机更少的抽象层

2.Docker利用的是宿主机的内核。VM需要的是Guest OS

在这里插入图片描述

所以说,新建一个容器的时候,Docker不需要像虚拟机一样重新加载一个操作系统内核,避免一些引导性的操作,虚拟机是加载 Guest OS,分钟级别的 而Docker是利用宿主机的操作系统,省略了这个复杂的过程,秒级!

Docker的常用命令

帮助命令


帮助文档 https://docs.docker.com/engine/reference/commandline/

镜像命令

docker search 搜索镜像


docker pull 下载镜像


删除镜像


容器命令

说明:我们有了镜像才可以创建容器,linux,下载一个centos镜像来测试学习


新建容器并启动


列出所有正在运行的容器


退出容器


删除容器


启动和停止容器的操作


常用其它命令

后台启动容器


查看日志

查看容器中进程信息ps


查看镜像的数据


进入当前正在运行的容器


从容器内拷贝文件到主机


小结

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

Docker 练习

Docker安装nginx

端口暴露的概念

在这里插入图片描述

思考问题:我们每次改动nginx都系要进入容器内部?十分麻烦,我们要是可以在容器外部提供一个映射路径,达到在容器修改文件名,容器内部就可以自动修改? -v 数据卷 !

Docker 安装Tomcat

思考问题:我们以后要部署项目,如果每次都要进入容器是不是十分麻烦?我们要是可以在容器外部提供一个映射在webapps,我们在外部放置项目,就自动同步到内部就好了

Docker 部署 es + kibana

在这里插入图片描述


在这里插入图片描述


作业:使用kibana连接es?思考网络如何才能连接过去?

在这里插入图片描述

Docker 可视化

  • portainer(先用这个)

  • Eancher (CI/CD再用)

什么是portainer?

docker的图形化界面管理工具!提供一个后台面板供我们安装


访问测试 http://ip:8088/

就可以通过它访问了

在这里插入图片描述

选择本地的

在这里插入图片描述

进入面板

在这里插入图片描述

在这里插入图片描述

Docker 镜像讲解

Docker 镜像是什么

镜像是一种轻量级,可执行的独立软件包,用来把、、打包软件运行环境开发的然健,它包含运行某个软件所需的搜哟内容包括代码,运行时、库、环境变量和配置文件。

所有的应用,直接打包docker镜像,就可以直接跑起来!

如何得到镜像:

  • 从远程仓库下载
  • 朋友拷贝给你
  • 自己制作一个镜像DockerFile

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

如何提交一个自己的镜像

commit镜像

实战测试:


在这里插入图片描述

如果你想要的保存当前容器的状态,就可以通过commit来提交,获得一个镜像,就好比VM的快照

容器数据卷

什么是容器数据卷

docker理念回顾:

将应用和环境打包成一个镜像!

数据?如果数据都在容器中,那么我们容器删除,数据就会丢失!需求:数据可以持久化

MySQL,容器删了,删库跑路!需求:MySQL数据可以存储在本地!

容器之间可以有一个数据共享的技术!Conker容器中产生的数据,同步到本地!

这就是卷技术,目录的挂载,将我们容器内的目录,挂载到Linux上面!


在这里插入图片描述

即双向绑定:测试文件的同步

在这里插入图片描述

再测试:

  • 停止容器
  • 宿主机上修改文件
  • 启动容器
  • 容器内的数据依旧是同步的

在这里插入图片描述

好处:我们以后修改只需要在本地修改即可,容器内会自动同步!

实战:安装MySQL

思考:MySQL的数据持久化问题!


在这里插入图片描述

在这里插入图片描述
此时就已经连接到容器内部MySQL

在本地测试创建一个数据库,查看一下我们映射的路径是否Ok

在这里插入图片描述

假设我们将容器删除

在这里插入图片描述

发现,我们挂载到本地的数据卷依旧没有丢失,这就实现了数据持久化功能

在这里插入图片描述

具名和匿名挂载

所有的docker 容器内的卷,没有指定目录的情况下都是在

我们通过具名挂载可以方便的找到我们的一个卷,大多数情况在使用的



拓展:


初识DockerFile

DockerFile就是用来构建docker镜像的构建文件! 命令脚本!

通过这个脚本可以生成一个镜像,镜像是一层一层的,脚本一个个的命令,每个命令都是一层


在这里插入图片描述


在这里插入图片描述

这个卷和外部一定有一个同步的目录

在这里插入图片描述


查看一下卷挂载的路径

在这里插入图片描述

测试一下刚才的文件是否同步出去了


这种方式用得十分多,因为我们通常会构建自己的镜像!

假设构建镜像时候没有挂载卷,要手动镜像挂载 -v 卷名:容器内路径!

数据卷容器

多个mysql同步数据

在这里插入图片描述


在这里插入图片描述


写)参数
FROM centos

VOLUME [“volume01”,“volume02”]

CMD echo “—-end—-”

CMD /bin/bash

#这里的每个命令就是镜像的一层


在这里插入图片描述

这个卷和外部一定有一个同步的目录

在这里插入图片描述


查看一下卷挂载的路径

在这里插入图片描述

测试一下刚才的文件是否同步出去了


这种方式用得十分多,因为我们通常会构建自己的镜像!

假设构建镜像时候没有挂载卷,要手动镜像挂载 -v 卷名:容器内路径!

数据卷容器

多个mysql同步数据
在这里插入图片描述


在这里插入图片描述


在这里插入图片描述
多个MySql实现数据共享


结论:

容器之间配置信息的传递,数据卷容器的生命周期一直持续到没有容器使用为止。

但是一旦你持久化到了本地,这个时候,本地的数据是不会删除的

DockerFile

DockerFile介绍

dockerfile 是用来构建docker镜像的文件!命令参数脚本!

构建步骤:

1、编写一个dockerfile文件

2、docker build 构建成为一个镜像

3、docker run 运行镜像

4、docker push 发布镜像(DockerHub、阿里云镜像仓库)

查看一下官方文档是怎么做的

在这里插入图片描述

在这里插入图片描述

很多官方镜像都是基础包,很多功能都没有,我们通常会自己搭建自己的镜像!

官方既然可以制作镜像,那我们也可以!

DockerFile 构建过程

基础知识:

  • 每个保留关键字(指令)都必须是大写字母
  • 执行从上到下顺序执行
  • #表示注释
  • 每一个指令都会创建提交一个新的镜像层,并提交!

在这里插入图片描述

DockerFile是面向开发的,我们以后要发布项目,做镜像,就需要编写dockerfile文件

步骤:开发、部署、运维。。缺一不可!

  • DockerFile:构建稳健,定义了一切的步骤,源代码
  • DockerImages:通过DockerFile构建生成的镜像,最终发布和运行的产品
  • Docker容器:容器就是镜像运行起来提供服务器
DockerFile 指令

以前我们就是使用别人的,现在我们知道这些指令后,自己写一个镜像


在这里插入图片描述

DockerFile 实战测试

DockerHub 中99%镜像都是从这个基础镜像过来的FROM scratch ,然后配置需要的软件和配置来进行的构建

在这里插入图片描述

创建一个自己的centos


对比:之前原生的centos

在这里插入图片描述

我们增加之后的镜像

在这里插入图片描述

我们可以列出本地进行的变更历史

在这里插入图片描述

所以我们平时拿到一个镜像,可以研究它是怎么做的了

CMD 和ENTRYPOINT 区别


测试CMD:


测试 ENTRYPOINT


DockerFile 中很多命令都十分的相识,我们需要了解它们的区别!

实战:Tomcat镜像
  • 准备镜像文件 tomcat 压缩包,jdk的压缩包

  • 编写dockerfile文件,官方命名,build会自动寻找这个文件,就不需要 -f 指定了!


  • 构建镜像

  • 启动镜像

  • 访问测试
  • 发布项目(由于做了卷挂载,我们直接在本地编写项目就可以发布了!)

进入本地test目录中 mkdir WEB-INF



  • 通过外网浏览器成功访问

在这里插入图片描述

发现:项目部署成功,可以直接访问ok!

以后得开发步骤:需要掌握Dockerfile的编写! 我们之后的一切都是使用docker镜像来发布运行

发布自己的镜像

DockerHub

  • 首先注册自己的账号
  • 确定账号可以登录
  • 在服务器上提交自己的镜像

  • 登录之后就可以提交镜像了,就是一步

在这里插入图片描述

提交的时候也是按照镜像的层级来进行提交的

发布到阿里云镜像服务上

  • 登录阿里云
  • 找到容器镜像服务
  • 创建命名空间

在这里插入图片描述

  • 创建容器镜像

在这里插入图片描述

在这里插入图片描述

  • 浏览阿里云官方文档

Navicat for Premium 9.0.2激活在这里插入图片描述

  • 发布完成之后可以在镜像版本中查看
小结

在这里插入图片描述

Docker 网络

今天的文章
Navicat for Premium 9.0.2激活(Docker 概述及详细安装使用)分享到此就结束了,感谢您的阅读。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/116526.html

(0)
编程小号编程小号
上一篇 2024-07-19
下一篇 2024-07-19

相关推荐