
Docker
文章平均质量分 75
梁萌
认真是一种态度
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Docker-文章目录
为什么互联网公司离不开Docker容器化,它到底解决了什么问题?VMware下Centos7安装步骤Windows安装DockerLinux安装DockerDocker快速安装Tomcat在docker中对MySQL快速部署与初始数据利用Dockerfile构建自定义镜像Dockerfile基础指令Dockerfile运行指令Docker中的分层(Layer)docker容器间基于Link单向通信docker容器间基于bridge双向通信docker中使用Volume完成数据共享docker中使用Docke原创 2025-01-05 16:40:54 · 457 阅读 · 0 评论 -
Docker-Compose安装和使用
如果这一组应用要部署上线,需要先安装MySQL,然后安装Tomcat,再安装NGINX,并让它们之间可以访问,这一系列的操作,在不使用Docker-Compose的情况下,需要运维人员执行一系列的安装命令,然后再去修改配置文件。Docker-Compose通过执行一个命令脚本,就可以实现先安装MySQL,再安装Tomcat,最后安装NGINX。WordPress是一个开源的博客网站,下面通过部署WordPress网站,来演示Docker-Compose的使用。看到版本信息时,说明已经安装完成。原创 2025-01-05 15:19:25 · 1451 阅读 · 0 评论 -
docker中使用Dockerfile设置Volume挂载点
在/usr/local路径下,执行下面命令后,docker会根据Dockerfile文件中的内容,生成新的镜像,镜像名称为myvolume。新的镜像是基于tomcat镜像,使用VOLUME关键字设置挂载路径,这个路径如果不存在,docker会自行创建。如果想在生成docker镜像的时候设置好挂载点,而不是在运行镜像生成容器时生成。下面以自建一个tomcat镜像为例,演示如何在生成镜像时设置挂载点。这种只设置内部目录(容器内目录)的方式,称为挂载点。设置的挂载点在容器启动时会自动进行设置。原创 2025-01-04 19:55:14 · 923 阅读 · 0 评论 -
docker中使用Volume完成数据共享
在一个docker中,部署两个MySQL容器,假如它们的数据都存储在自己容器内部的data目录中。这样的存储方式会有一下问题:1.无法保证两个MySQL容器中的数据同步。2.容器删除后,数据就会丢失。基于以上问题,容器中的数据不能存储在容器内部。而是应该单独剥离出来,这时, Volume就派上用场了。Volume就是在物理机上单独开辟的一个存储空间,作为MySQL容器就不再进行数据存储。所有数据都存储在物理机的路径中,然后再通过Volume挂载到容器中,这样就形成了数据共享。原创 2025-01-04 19:19:45 · 995 阅读 · 0 评论 -
docker容器间基于bridge双向通信
通过前面已经知道了设置link来达到容器间通过容器名称双向通信,那是不是可以通过每个容器都设置link来达到双向通信,这种方式实现起来太麻烦,有更为简单的实现方式,就是通过bridge网桥的方式来实现多组容器之间的双向通信。自定义一个全新的网桥,只要把docker中的容器绑定到网桥上,那么跟这个网桥绑定的所有的容器都可以互联互通。可以看到,有一个name为bridge的网桥,在每一个docker中,都会默认有一个网桥。是可以ping通的,同理在c2容器内部ping c1容器,也是可以的。原创 2025-01-04 17:04:54 · 591 阅读 · 0 评论 -
docker容器间基于Link单向通信
在进行Java开发时,一般会部署两台服务器,一个是Tomcat,一个是数据库。对应到docker环境,会在一台物理机上,部署docker,在docker中运行两个容器,分别是Tomcat容器和数据库容器。当两个容器都启动后,docker会自动为每个容器赋予ip地址。这两个容器可以通过ip地址互相访问。直接通过ip访问会有一些局限性,比如在项目刚上线的时候通过ip访问,后期如果要更换容器,假如MySQL容器被更换为了一个新的MySQL容器。原创 2025-01-04 16:20:29 · 734 阅读 · 0 评论 -
在docker中对MySQL快速部署与初始数据
将路径切换到Dockerflie所在的目录中,执行创建镜像的命令。sampledb是数据库镜像的名称,后面的点代表当前目录中的Dockerfile文件。原创 2024-12-30 08:19:48 · 912 阅读 · 0 评论 -
Dockerfile运行指令
从上面信息可以看到,ENTRYPOINT同CMD一样,多个ENTRYPOINT时,只有最后一个命令会被执行,前面的不会执行。这么看好像ENTRYPOINT同CMD一样,没有区别,两个都是在容器创建时被执行,且都是只有最后一个被执行。也就是说在运行命令时,如果不添加参数,那就用CMD的值,如果添加了参数,那么CMD的值将被动态修改为新的值。在大多数情况下,ENTRYPOINT后面跟的是固定命令,CMD后面写的是可以灵活变化的参数。可以看到 ps -ef命令被执行,也就是说CMD的特点是用来作为默认值。原创 2024-12-28 22:34:43 · 1067 阅读 · 0 评论 -
Docker中的分层(Layer)
如上图所示,每个容器拥有自己的容器层,所有的读写操作在自己的容器层中完成,与其他容器互不影响。上面是容器层(Container layer),下面是镜像层(Image layers)。镜像层的内容是静态的,读和写的操作,都是在容器层发生,专门为容器的读写分配了空间。docker中有分层的概念,如下图所示。原创 2024-12-28 21:46:06 · 422 阅读 · 0 评论 -
Dockerfile基础指令
环境变量名称 JAVA_HOME 值/usr/local/openjdk8。比如在物理机上用8000端口,映射到docker容器中的8080端口。基于基准镜像(建议使用官方提供的镜像作为基准镜像,相对安全一些)LABEL description = "自定义的应用镜像"将压缩文件 test.tar.gz 解压到根目录中。制作基准镜像(基于centos:lastest)暴露容器端口,将容器内部端口暴露给物理机。ADD除了复制,还具备添加远程文件功能。设置工作目录,尽量使用绝对地址。不依赖于任何基准镜像。原创 2024-12-28 14:45:03 · 648 阅读 · 0 评论 -
利用Dockerfile构建自定义镜像
当一个系统开发完成,需要将系统打包为一个镜像文件,让docker能够运行该镜像,成为一个可以被访问的容器。上述操作可以通过自定义镜像的方式来实现,本文章基于VMware虚拟机中安装的Centos7操作系统来完成。原创 2024-12-28 13:44:01 · 836 阅读 · 0 评论 -
Docker快速安装Tomcat
访问虚拟机的ip,加上8000端口,就可以访问到Tomcat了,因为没有首页地址,所以显示404,Tomcat已经启动了。如果拉取很慢,通过更换下载镜像的地址便可解决,不过镜像地址可能随时失效,需要多试几个。启动Tomcat,并将Tomcat默认的8080端口,映射到外部的8000端口。利用docker安装Tomcat很简单,不需要配置jdk、环境变量等内容。以上配置的地址随时可能失效,如果失效了,需要从网上找其他的地址尝试。镜像ID可以通过docker images命令查询。刷新配置并重启docker。原创 2024-12-22 17:53:54 · 1405 阅读 · 0 评论 -
Linux安装Docker
增加阿里云docker下载仓库,为了提升下载文件的速度。更新仓库源信息,确保yum能够获取到最新的软件包信息。从镜像仓库中拉去测试用的hello-world。从阿里云仓库下载docker-ce(社区版)使用Xshell链接到linux操作系统。执行命令,安装docker的底层工具。到此,docker就安装成功了。启动hello-world。docker安装完成。将docker服务化。启动docker服务。查询docker版本。原创 2024-12-22 12:22:31 · 809 阅读 · 0 评论 -
Windows安装Docker
cmd,命令行输入docker version,显示docker版本信息,就代表安装成功。同时把鼠标放在电脑任务栏的docker图标上,也可以看到正在运行的提示。如果打开docker主界面时,一直显示正在加载中。选择第一个,使用推荐设置。双击打开,会有如下提示。原创 2024-12-18 22:27:34 · 535 阅读 · 0 评论 -
利用Docker一键发布Nginx-Tomcat-MySQL应用集群
docker核心就是镜像和容器:镜像就是应用程序的安装文件,包含了所有需要的资源,但是不能运行。容器是最终运行的产物,每个容器都是可以独立运行的应用程序。需要先在服务器上安装docker引擎,才可以进行使用,服务器上安装doker引擎后,会内置一个客户端。docker的执行过程为:客户端发送docker命令,docker引擎接收到命令后,会检查本地是否有镜像,没有的话就用远程仓库把镜像下载,然后创建容器,对外提供服务。原创 2024-11-30 17:42:15 · 1480 阅读 · 0 评论 -
为什么互联网公司离不开Docker容器化,它到底解决了什么问题?
在物理机时代,有以上的一些缺点。原创 2024-11-30 13:17:38 · 1077 阅读 · 0 评论