type
status
date
slug
summary
tags
category
icon
password
docker架构图
  1. 镜像(image):docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,例如:tomcat镜像 ----> run运行 ----> tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中)。
    1. notion image
  1. 容器(contalner):Docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的。启动、停止、删除、基本命令(目前就可以把这个容器理解为就是一个简易的Liunx系统)。
  1. 仓库(repository):仓库就是存放镜像的地方,仓库分为公有仓库和私有仓库,Docker Hub(默认是国外的)。

1.安装Docker

1.环境查看

cat /etc/os-release

2.安装

1.卸载旧的版本

2.安装需要的依赖包

3.设置镜像的仓库

4.更行yum软件包的索引

5.安装Docker

6.启动Docker

7.查看是否安装成功

8.测试

9.查看下载的hello-world镜像是否存在

10.卸载docker

2.Docker常用命令

1.帮助命令

2.镜像命令

docker images --查看所有本地主机上的镜像
docker search 搜索镜像
docker pull 下载镜像
docker rmi -- 删除镜像

3.容器命令

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

1.新建容器并启动

2.列出所有运行的容器

3.退出容器

exit #直接容器停止并退出
Ctrl + P + Q #容器不停止退出

4.删除容器

5.启动和停止容器

6.常用命令

1.后台启动容器--run

2.查看日志--logs

3.查看容器中进程信息--top

4.查看镜像的元数据--inspect

5.进入当前正在运行的容器

6.从容器中拷贝文件到主机上

3.练习

1.部署Nginx

端口暴露
notion image
思考问题:我们每一次改动nginx配置文件,都需要进入容器内部 十分麻烦,我们要是可以在容器外部提供一个映射路径,达到在容器修改文件名,容器内部就可以自动修改----数据卷技术

2.部署Tomcat

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

4.可视化

1.portainer

Docker图形化界面管理工具提供一个后台面板提供操作
命令:docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
启动完成后进行登录需要先进行注册,这里已经注册好了
notion image
notion image

5.Docker镜像

1.镜像是什么?

镜像是一种轻量级,可执行的地理软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需要的所有内容,包括代码,运行时、库、环境变量、和配置文件。
如何得到镜像:
  • 从远程仓库下载
  • 自己制作一个dockerfile

2.Docker镜像加载原理

联合文件系统
UnionFS(联合文件系统):是一种分层轻量级并且高性能的文件系统,它支持文件系统的修改
作为一次提交来一层层叠加,同时可以将不同目录挂载到同一个虚拟文件系统下,镜像可以通过分层来继承。
特性:一次同时加载多个文件系统,但是从外面看,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录

3.commit镜像

docker commit 提交容器成为一个新的副本
#命令和git原理类似
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG]
实战测试

6.容器数据卷

1.什么是容器数据卷

回顾:将应用和环境打包成一个镜像。
如果数据都在容器中,那么我们容器删除,数据就会丢失,需求:数据可以持久化
容器之间有一个数据共享技术,Docker容器中产生的数据同步到本地中
这就是卷技术,目录挂载,将我们容器内的目录,挂载到Linux上面
图解:容器持久化和同步操作,容器间也可以数据共享
notion image

2.使用数据卷

方式一:直接使用命令来挂载 -v

3.实战:安装Mysql

Mysql数据持久化问题

4.具名挂载和匿名挂载

所有的docker容器内的卷,没有指定目录的情况下 都是再/var/lib/docker/volumes/下
我们通过具名挂载就可以方便的找到我们的一个卷
拓展:

5.初识Dockerfile

Dockerfile局势用来创建docker镜像的构建文件 命令脚本

6.数据卷容器(实现容器间的数据同步)

多个mysql同步数据
notion image
共享文件:容器之间是互相隔离,但是数据是共享的,实际拷贝文件到自己的容器,如果容器1docker01挂了数据是在另外两个容器是不会丢失的,什么时候会丢失,数据卷容器的生命周期一直持续到没有容器使用为止,如果持久化到本地,数据就永远不会丢失

7.DockerFile

1.dockerFile介绍


dockerfile是用来构建镜像的文件,命令参数脚本
构建步骤:
  1. 编写一个dockerfile文件
  1. docker buid构建成为一个镜像
  1. docker run 运行镜像
  1. docker push 发布镜像(DockerHUb,阿里云镜像)

2.dockerFile构建过程


notion image
Dockerfile:构建文件,定义了一切的步骤,源代码
DokerImages:通过DockerFile构建生成的镜像,最终发布运行的产品
Docker容器:容器就是镜像运行起来提供的服务器

3.DockerFile的基础命令


notion image

4.构建自己的centos


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

1.编写dockerfile的文件

2.通过这个文件构建镜像

docker build -f dockerfile文件路径 -t 镜像名:[tag] .最后一个点必须要有

3.测试运行

docker run -it 镜像名:[tag]

4.查看镜像的构建的信息

docker history 镜像id

5.Dockerfile制作tomcat

1.准备两个压缩包文件

一个时1.8的jdk 和 tomcat

2.编写dockerfile文件

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

3.构建镜像

4.启动镜像

5.进入容器

6.访问测试

根据映射的地址,在浏览器中访问,这里映射的端口时9090,在浏览器中输入localhost:9090就能访问到tomcat的页面。

7.部署一个页面到tomcat

6.发布自己的镜像

DockerHub
  1. 注册自己的账号。https://hub.docker.com/
  1. 在我们服务器上提交
  1. 提交镜像

8.Docker网络

docker的ip
启动一个容器
linux 能不能ping通容器内部

1.原理

我们每启动一个docker容器 docker就会给docker容器分配一个ip,我们只要安装了docker 就会有一个网卡docker0 桥接模式,使用的技术是 exth-pair 技术
主机上再次测试ip addr
notion image
容器内的地址
notion image
我们发现这个容器的网卡,都是一对的,都是对应的
evth-pair 就是一对的虚拟设备接口 它们都是成对出现的,一段连着协议,一段彼此相连
我们测试tomcat01和tomcat02是否能ping通,两个容器之间
notion image
结论:tomcat01和tomcat02都是公用一个路由器 docker0
所有的容器不指定网络的情况下,都是docker0路由的 docker会给我们的容器分配一个默认的可用IP
总结:
notion image
Docker 中的所有的网络都是虚拟的,虚拟的转发效率高。
只要删除了容器,对应的网桥一对就没有了。

2.--link

思考一个问题,我们编写一个微服务,database url=ip;项目不重启 ,容器重启都会更换ip数据库ip换掉了,我们希望可以处理这个问题,可以名字进行访问容器。
我们用名字去ping看能不能ping通
其实这个tomcat03就是在本地配置了tomcat02的配置
现在使用Docker 已经不建议使用--link
自定义网络 不适用docker0

9.自定义网络

1.查看所有的Docker网络

2.网络模式

  • bridge: 桥接模式(默认,自己创建也使用bridge模式)
  • none:不配置网络
  • host:主机模式,和宿主机共享网络
  • container:容器网络连通(用的很少,局限很大)

3.测试自定义网络

好处:不同的集群使用不同的网络,保证集群是安全和健康。

10.网络连通

notion image
结论,假设要跨网络操作别人,就需要docker network connect 连通

11.SpringBoot项目打包成Docker镜像

1.新建一个SpringBoot

新建boot项目,并书写一个接口,并且利用maven的命令打包成jar

2.编写Dockerfile文件

3.上传到虚拟机中

12.Docker Compose

Docker Compose是一个需要在docker 主机上安装的Docker容器编排外部工具,其并不是通过脚本或者各种冗长的Docker命令来将应用组件组织起来,而是通过一个声明式的配置文件描述整个应用,然后通过一条命令完成应用部署,部署成功后,还可以通过一系列简单命令实现对其完整生命周期的管理。

1.文件介绍

Docker Compose使用YAML文件来定义服务,官方推荐的默认文件名为compose.yml,但同时也支持docker-compose.yml。

2.安装docker compose

😀
这里写文章的前言: 一个简单的开头,简述这篇文章讨论的问题、目标、人物、背景是什么?并简述你给出的答案。
可以说说你的故事:阻碍、努力、结果成果,意外与转折。
 

📝 主旨内容

docker架构图
  1. 镜像(image):docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,例如:tomcat镜像 ----> run运行 ----> tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中)。
    1. notion image
  1. 容器(contalner):Docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的。启动、停止、删除、基本命令(目前就可以把这个容器理解为就是一个简易的Liunx系统)。
  1. 仓库(repository):仓库就是存放镜像的地方,仓库分为公有仓库和私有仓库,Docker Hub(默认是国外的)。

1.安装Docker

1.环境查看

cat /etc/os-release

2.安装

1.卸载旧的版本

2.安装需要的依赖包

3.设置镜像的仓库

4.更行yum软件包的索引

5.安装Docker

6.启动Docker

7.查看是否安装成功

8.测试

9.查看下载的hello-world镜像是否存在

10.卸载docker

2.Docker常用命令

1.帮助命令

2.镜像命令

docker images --查看所有本地主机上的镜像
docker search 搜索镜像
docker pull 下载镜像
docker rmi -- 删除镜像

3.容器命令

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

1.新建容器并启动

2.列出所有运行的容器

3.退出容器

exit #直接容器停止并退出
Ctrl + P + Q #容器不停止退出

4.删除容器

5.启动和停止容器

6.常用命令

1.后台启动容器--run

2.查看日志--logs

3.查看容器中进程信息--top

4.查看镜像的元数据--inspect

5.进入当前正在运行的容器

6.从容器中拷贝文件到主机上

3.练习

1.部署Nginx

端口暴露
notion image
思考问题:我们每一次改动nginx配置文件,都需要进入容器内部 十分麻烦,我们要是可以在容器外部提供一个映射路径,达到在容器修改文件名,容器内部就可以自动修改----数据卷技术

2.部署Tomcat

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

4.可视化

1.portainer

Docker图形化界面管理工具提供一个后台面板提供操作
命令:docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
启动完成后进行登录需要先进行注册,这里已经注册好了
notion image
notion image

5.Docker镜像

1.镜像是什么?

镜像是一种轻量级,可执行的地理软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需要的所有内容,包括代码,运行时、库、环境变量、和配置文件。
如何得到镜像:
  • 从远程仓库下载
  • 自己制作一个dockerfile

2.Docker镜像加载原理

联合文件系统
UnionFS(联合文件系统):是一种分层轻量级并且高性能的文件系统,它支持文件系统的修改
作为一次提交来一层层叠加,同时可以将不同目录挂载到同一个虚拟文件系统下,镜像可以通过分层来继承。
特性:一次同时加载多个文件系统,但是从外面看,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录

3.commit镜像

docker commit 提交容器成为一个新的副本
#命令和git原理类似
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG]
实战测试

6.容器数据卷

1.什么是容器数据卷

回顾:将应用和环境打包成一个镜像。
如果数据都在容器中,那么我们容器删除,数据就会丢失,需求:数据可以持久化
容器之间有一个数据共享技术,Docker容器中产生的数据同步到本地中
这就是卷技术,目录挂载,将我们容器内的目录,挂载到Linux上面
图解:容器持久化和同步操作,容器间也可以数据共享
notion image

2.使用数据卷

方式一:直接使用命令来挂载 -v

3.实战:安装Mysql

Mysql数据持久化问题

4.具名挂载和匿名挂载

所有的docker容器内的卷,没有指定目录的情况下 都是再/var/lib/docker/volumes/下
我们通过具名挂载就可以方便的找到我们的一个卷
拓展:

5.初识Dockerfile

Dockerfile局势用来创建docker镜像的构建文件 命令脚本

6.数据卷容器(实现容器间的数据同步)

多个mysql同步数据
notion image
共享文件:容器之间是互相隔离,但是数据是共享的,实际拷贝文件到自己的容器,如果容器1docker01挂了数据是在另外两个容器是不会丢失的,什么时候会丢失,数据卷容器的生命周期一直持续到没有容器使用为止,如果持久化到本地,数据就永远不会丢失

7.DockerFile

1.dockerFile介绍


dockerfile是用来构建镜像的文件,命令参数脚本
构建步骤:
  1. 编写一个dockerfile文件
  1. docker buid构建成为一个镜像
  1. docker run 运行镜像
  1. docker push 发布镜像(DockerHUb,阿里云镜像)

2.dockerFile构建过程


notion image
Dockerfile:构建文件,定义了一切的步骤,源代码
DokerImages:通过DockerFile构建生成的镜像,最终发布运行的产品
Docker容器:容器就是镜像运行起来提供的服务器

3.DockerFile的基础命令


notion image

4.构建自己的centos


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

1.编写dockerfile的文件

2.通过这个文件构建镜像

docker build -f dockerfile文件路径 -t 镜像名:[tag] .最后一个点必须要有

3.测试运行

docker run -it 镜像名:[tag]

4.查看镜像的构建的信息

docker history 镜像id

5.Dockerfile制作tomcat

1.准备两个压缩包文件

一个时1.8的jdk 和 tomcat

2.编写dockerfile文件

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

3.构建镜像

4.启动镜像

5.进入容器

6.访问测试

根据映射的地址,在浏览器中访问,这里映射的端口时9090,在浏览器中输入localhost:9090就能访问到tomcat的页面。

7.部署一个页面到tomcat

6.发布自己的镜像

DockerHub
  1. 注册自己的账号。https://hub.docker.com/
  1. 在我们服务器上提交
  1. 提交镜像

8.Docker网络

docker的ip
启动一个容器
linux 能不能ping通容器内部

1.原理

我们每启动一个docker容器 docker就会给docker容器分配一个ip,我们只要安装了docker 就会有一个网卡docker0 桥接模式,使用的技术是 exth-pair 技术
主机上再次测试ip addr
notion image
容器内的地址
notion image
我们发现这个容器的网卡,都是一对的,都是对应的
evth-pair 就是一对的虚拟设备接口 它们都是成对出现的,一段连着协议,一段彼此相连
我们测试tomcat01和tomcat02是否能ping通,两个容器之间
notion image
结论:tomcat01和tomcat02都是公用一个路由器 docker0
所有的容器不指定网络的情况下,都是docker0路由的 docker会给我们的容器分配一个默认的可用IP
总结:
notion image
Docker 中的所有的网络都是虚拟的,虚拟的转发效率高。
只要删除了容器,对应的网桥一对就没有了。

2.--link

思考一个问题,我们编写一个微服务,database url=ip;项目不重启 ,容器重启都会更换ip数据库ip换掉了,我们希望可以处理这个问题,可以名字进行访问容器。
我们用名字去ping看能不能ping通
其实这个tomcat03就是在本地配置了tomcat02的配置
现在使用Docker 已经不建议使用--link
自定义网络 不适用docker0

9.自定义网络

1.查看所有的Docker网络

2.网络模式

  • bridge: 桥接模式(默认,自己创建也使用bridge模式)
  • none:不配置网络
  • host:主机模式,和宿主机共享网络
  • container:容器网络连通(用的很少,局限很大)

3.测试自定义网络

好处:不同的集群使用不同的网络,保证集群是安全和健康。

10.网络连通

notion image
结论,假设要跨网络操作别人,就需要docker network connect 连通

11.SpringBoot项目打包成Docker镜像

1.新建一个SpringBoot

新建boot项目,并书写一个接口,并且利用maven的命令打包成jar

2.编写Dockerfile文件

3.上传到虚拟机中

12.Docker Compose

Docker Compose是一个需要在docker 主机上安装的Docker容器编排外部工具,其并不是通过脚本或者各种冗长的Docker命令来将应用组件组织起来,而是通过一个声明式的配置文件描述整个应用,然后通过一条命令完成应用部署,部署成功后,还可以通过一系列简单命令实现对其完整生命周期的管理。

1.文件介绍

Docker Compose使用YAML文件来定义服务,官方推荐的默认文件名为compose.yml,但同时也支持docker-compose.yml。

2.安装docker compose

docker架构图
  1. 镜像(image):docker镜像就好比是一个模板,可以通过这个模板来创建容器服务,例如:tomcat镜像 ----> run运行 ----> tomcat01容器(提供服务器),通过这个镜像可以创建多个容器(最终服务运行或者项目运行就是在容器中)。
    1. notion image
  1. 容器(contalner):Docker利用容器技术,独立运行一个或者一组应用,通过镜像来创建的。启动、停止、删除、基本命令(目前就可以把这个容器理解为就是一个简易的Liunx系统)。
  1. 仓库(repository):仓库就是存放镜像的地方,仓库分为公有仓库和私有仓库,Docker Hub(默认是国外的)。

1.安装Docker

1.环境查看

cat /etc/os-release

2.安装

1.卸载旧的版本

2.安装需要的依赖包

3.设置镜像的仓库

4.更行yum软件包的索引

5.安装Docker

6.启动Docker

7.查看是否安装成功

8.测试

9.查看下载的hello-world镜像是否存在

10.卸载docker

2.Docker常用命令

1.帮助命令

2.镜像命令

docker images --查看所有本地主机上的镜像
docker search 搜索镜像
docker pull 下载镜像
docker rmi -- 删除镜像

3.容器命令

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

1.新建容器并启动

2.列出所有运行的容器

3.退出容器

exit #直接容器停止并退出
Ctrl + P + Q #容器不停止退出

4.删除容器

5.启动和停止容器

6.常用命令

1.后台启动容器--run

2.查看日志--logs

3.查看容器中进程信息--top

4.查看镜像的元数据--inspect

5.进入当前正在运行的容器

6.从容器中拷贝文件到主机上

3.练习

1.部署Nginx

端口暴露
notion image
思考问题:我们每一次改动nginx配置文件,都需要进入容器内部 十分麻烦,我们要是可以在容器外部提供一个映射路径,达到在容器修改文件名,容器内部就可以自动修改----数据卷技术

2.部署Tomcat

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

4.可视化

1.portainer

Docker图形化界面管理工具提供一个后台面板提供操作
命令:docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock portainer/portainer
启动完成后进行登录需要先进行注册,这里已经注册好了
notion image
notion image

5.Docker镜像

1.镜像是什么?

镜像是一种轻量级,可执行的地理软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需要的所有内容,包括代码,运行时、库、环境变量、和配置文件。
如何得到镜像:
  • 从远程仓库下载
  • 自己制作一个dockerfile

2.Docker镜像加载原理

联合文件系统
UnionFS(联合文件系统):是一种分层轻量级并且高性能的文件系统,它支持文件系统的修改
作为一次提交来一层层叠加,同时可以将不同目录挂载到同一个虚拟文件系统下,镜像可以通过分层来继承。
特性:一次同时加载多个文件系统,但是从外面看,只能看到一个文件系统,联合加载会把各层文件系统叠加起来,这样最终的文件系统会包含所有底层的文件和目录

3.commit镜像

docker commit 提交容器成为一个新的副本
#命令和git原理类似
docker commit -m="提交的描述信息" -a="作者" 容器id 目标镜像名:[TAG]
实战测试

6.容器数据卷

1.什么是容器数据卷

回顾:将应用和环境打包成一个镜像。
如果数据都在容器中,那么我们容器删除,数据就会丢失,需求:数据可以持久化
容器之间有一个数据共享技术,Docker容器中产生的数据同步到本地中
这就是卷技术,目录挂载,将我们容器内的目录,挂载到Linux上面
图解:容器持久化和同步操作,容器间也可以数据共享
notion image

2.使用数据卷

方式一:直接使用命令来挂载 -v

3.实战:安装Mysql

Mysql数据持久化问题

4.具名挂载和匿名挂载

所有的docker容器内的卷,没有指定目录的情况下 都是再/var/lib/docker/volumes/下
我们通过具名挂载就可以方便的找到我们的一个卷
拓展:

5.初识Dockerfile

Dockerfile局势用来创建docker镜像的构建文件 命令脚本

6.数据卷容器(实现容器间的数据同步)

多个mysql同步数据
notion image
共享文件:容器之间是互相隔离,但是数据是共享的,实际拷贝文件到自己的容器,如果容器1docker01挂了数据是在另外两个容器是不会丢失的,什么时候会丢失,数据卷容器的生命周期一直持续到没有容器使用为止,如果持久化到本地,数据就永远不会丢失

7.DockerFile

1.dockerFile介绍


dockerfile是用来构建镜像的文件,命令参数脚本
构建步骤:
  1. 编写一个dockerfile文件
  1. docker buid构建成为一个镜像
  1. docker run 运行镜像
  1. docker push 发布镜像(DockerHUb,阿里云镜像)

2.dockerFile构建过程


notion image
Dockerfile:构建文件,定义了一切的步骤,源代码
DokerImages:通过DockerFile构建生成的镜像,最终发布运行的产品
Docker容器:容器就是镜像运行起来提供的服务器

3.DockerFile的基础命令


notion image

4.构建自己的centos


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

1.编写dockerfile的文件

2.通过这个文件构建镜像

docker build -f dockerfile文件路径 -t 镜像名:[tag] .最后一个点必须要有

3.测试运行

docker run -it 镜像名:[tag]

4.查看镜像的构建的信息

docker history 镜像id

5.Dockerfile制作tomcat

1.准备两个压缩包文件

一个时1.8的jdk 和 tomcat

2.编写dockerfile文件

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

3.构建镜像

4.启动镜像

5.进入容器

6.访问测试

根据映射的地址,在浏览器中访问,这里映射的端口时9090,在浏览器中输入localhost:9090就能访问到tomcat的页面。

7.部署一个页面到tomcat

6.发布自己的镜像

DockerHub
  1. 注册自己的账号。https://hub.docker.com/
  1. 在我们服务器上提交
  1. 提交镜像

8.Docker网络

docker的ip
启动一个容器
linux 能不能ping通容器内部

1.原理

我们每启动一个docker容器 docker就会给docker容器分配一个ip,我们只要安装了docker 就会有一个网卡docker0 桥接模式,使用的技术是 exth-pair 技术
主机上再次测试ip addr
notion image
容器内的地址
notion image
我们发现这个容器的网卡,都是一对的,都是对应的
evth-pair 就是一对的虚拟设备接口 它们都是成对出现的,一段连着协议,一段彼此相连
我们测试tomcat01和tomcat02是否能ping通,两个容器之间
notion image
结论:tomcat01和tomcat02都是公用一个路由器 docker0
所有的容器不指定网络的情况下,都是docker0路由的 docker会给我们的容器分配一个默认的可用IP
总结:
notion image
Docker 中的所有的网络都是虚拟的,虚拟的转发效率高。
只要删除了容器,对应的网桥一对就没有了。

2.--link

思考一个问题,我们编写一个微服务,database url=ip;项目不重启 ,容器重启都会更换ip数据库ip换掉了,我们希望可以处理这个问题,可以名字进行访问容器。
我们用名字去ping看能不能ping通
其实这个tomcat03就是在本地配置了tomcat02的配置
现在使用Docker 已经不建议使用--link
自定义网络 不适用docker0

9.自定义网络

1.查看所有的Docker网络

2.网络模式

  • bridge: 桥接模式(默认,自己创建也使用bridge模式)
  • none:不配置网络
  • host:主机模式,和宿主机共享网络
  • container:容器网络连通(用的很少,局限很大)

3.测试自定义网络

好处:不同的集群使用不同的网络,保证集群是安全和健康。

10.网络连通

notion image
结论,假设要跨网络操作别人,就需要docker network connect 连通

11.SpringBoot项目打包成Docker镜像

1.新建一个SpringBoot

新建boot项目,并书写一个接口,并且利用maven的命令打包成jar

2.编写Dockerfile文件

3.上传到虚拟机中

12.Docker Compose

Docker Compose是一个需要在docker 主机上安装的Docker容器编排外部工具,其并不是通过脚本或者各种冗长的Docker命令来将应用组件组织起来,而是通过一个声明式的配置文件描述整个应用,然后通过一条命令完成应用部署,部署成功后,还可以通过一系列简单命令实现对其完整生命周期的管理。

1.文件介绍

Docker Compose使用YAML文件来定义服务,官方推荐的默认文件名为compose.yml,但同时也支持docker-compose.yml。

2.安装docker compose

📎 参考文章

       
      💡
      有关Docker安装或者使用上的问题,欢迎您在底部评论区留言,一起交流~
      Token认证技术方案Redis入门
      Loading...
      三-岁
      三-岁
      一个普通的干饭人🍚
      公告
      🎉api调用体验平台已上线🎉
      -- 感谢您的支持 ---
      👏欢迎更新体验👏
      默认账号密码:mozhiyuan:12345678