docker-file 网络

devtools/2024/11/14 3:01:29/

docker_1">docker挂载

1.绑定挂载(Bind Mounts):绑定挂载是将主机上的文件或目录挂载到容器中。

docker run -v /host/path:/container/path image_name 

2.卷挂载(Volume Mounts):卷挂载将 Docker 数据卷挂载到容器中。数据卷是一个可供一个或多个容器使用的特殊目录,用于存储数据和共享数据。它独立于容器的生命周期,容器可以在挂载点读取和写入数据,就像使用普通目录一样。可以通过在运行容器时使用 -v 或 --mount 参数指定卷挂载。

docker run -v volume_name:/container/path image_name
相当于挂载宿主机目录下的卷 /var/lib/docker/volumes/volume_name, 到容器的目录

3.临时文件系统(tmpfs)挂载:临时文件系统挂载允许将临时文件系统挂载到容器的指定路径。与绑定挂载和卷挂载不同,临时文件系统挂载仅在容器的生命周期内存在,并且不会对主机文件系统产生影响。可以通过在运行容器时使用 --tmpfs 参数来指定临时文件系统挂载。例如:
docker run --tmpfs /container/path image_name

原文链接:https://blog.csdn.net/weixin_49171365/article/details/131506045

docker__17">docker 镜像结构

分层结构,不同的模块可以有共享的层。
在这里插入图片描述

DockerFile

1.基础命令

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

dockerfile_31">2.根据dockerfile构建镜像

在这里插入图片描述

docker_35">docker网络

docker容器里运行的所有容器mysql redis nginx等在同一个网段中,因为他们有相同的网关。

在这里插入图片描述

dockerdocker0_43">安装docker会默认创建一张虚拟的网卡docker0

网卡充当网桥的作用,所有和他相连的分配到一个ip,可以相互访问

在这里插入图片描述

不同容器的ip地址是网桥给分配的,重启后ip地址可能会变。
在java代码中配置mysql的ip地址会有问题

自定义网络

加入自定义网络容器可以互相访问,
并且可以通过容器名互相访问,不需要知道容器名。
在这里插入图片描述

docker network create heima

新加入的网卡
在这里插入图片描述

容器加入网络 docker network connect heima nginx
docker inspect nginx 查看 多出一个network

在这里插入图片描述

docker__68">docker 部署黑马商城

视频内容p34
在这里插入图片描述

=====手动部署=====1.打包java jar包,通过dockerfile构建java镜像,启动docker run -d --name hm -p 8080:8080 --network heima hmall2.挂载mysqldocker run -d  \--name mysql \-p 3306:3306 \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=123 \-v /root/mysql/data:/var/lib/mysql \-v /root/mysql/init:/docker-entrypoint-initdb.d \-v /root/mysql/conf:/etc/mysql/conf.d \mysql2.mysql连接网络
docker network connect heima mysql18080 用户端
18081 服务端3.挂载nginxdocker run -d \--name nginx \-p 18080:18080 \-p 18081:18081 \-v /root/nginx/html:/usr/share/nginx/html \-v /root/nginx/nginx.conf:/etc/nginx/nginx.conf \--network heima \nginx

docker_compose_111">docker compose

docker compose描述信息和docker run差不多,语法上会有些差异
在这里插入图片描述

docker_rundocker_compose_115">左侧 docker run构建容器,右侧docker compose构建容器

在这里插入图片描述

直接上传compose文件


docker_compose_up_d_rooot_121">docker compose up -d 创建了一个镜像,默认名字是rooot

在这里插入图片描述

创建了容器

在这里插入图片描述

docker_compose_down_125">docker compose down

容器全部移除,网络全部移除
在这里插入图片描述


http://www.ppmy.cn/devtools/43895.html

相关文章

测试测试测试

一分钟速览新闻点! 京东前副总裁蔡磊回应被指装病:没有时间、精力和能力应对 百度沈抖:主力模型免费的原因很朴素,希望大家别再天天拉表格比价格 蚂蚁集团CTO何征宇:蚂蚁一直在努力优化和提高AI的可靠性、经济性和易…

echarts性能优化

echarts数据量多的时候优化方案&#xff1a; 渲染的数据太多时&#xff0c;渲染的速度会变慢。 let data [];for (let i 0; i < 100000; i) {let style {};if (i % 2 0) {style.color "red";}data.push({value: i,itemStyle: style,}); } myEcharts init(c…

JavaScript tab选项卡切换

下面是一个简单的JavaScript代码示例&#xff0c;展示如何使用tab选项卡来切换内容。 HTML代码&#xff1a; <div class"tab"><button class"tablinks" onclick"openTab(event, tab1)">选项卡1</button><button class&qu…

Flutter 中的 Flow 小部件:全面指南

Flutter 中的 Flow 小部件&#xff1a;全面指南 Flutter 的 Flow 是一个功能强大的布局小部件&#xff0c;它允许开发者在父组件的任意位置放置子组件。Flow 可以通过使用 FlowDelegate 完全自定义子组件的布局&#xff0c;这为创建复杂的自定义布局提供了极大的灵活性。本文将…

VUE3 学习笔记(9):VUE 插槽的概念、基本应用、传值

在调用子组件时&#xff0c;我们希望把父组件的HTML传给子组件&#xff0c;那么在引用子组件内部进行定义&#xff0c;然后子组件通过slot标签进行接收 基本示例 父 app.vue <!--内容控制--> <template><test><div><p>{{name}}</p><p…

PIC单片机控制小型三相无刷直流电机

1、使用PIC12F629小型三相无刷直流电机制作电动口罩&#xff0c;涉及到电机的驱动芯片的选型&#xff0c;这里选用国产的MS39549驱动芯片&#xff1b; 2、搭建的电路图如下&#xff1a; 3、单片机给MS39549驱动芯片发送PWM占空比信号&#xff0c;即可实现对电机的转速控制&…

力扣HOT100 - 287. 寻找重复数

解题思路&#xff1a; 快慢指针 第一步&#xff0c;慢指针每次移动一步&#xff0c;快指针每次移动两步&#xff0c;直到它们相遇。这一步保证了它们在环中相遇。 接下来&#xff0c;将其中一个指针&#xff08;快指针或慢指针&#xff09;重置到起点&#xff08;即数组的第一…

vue组件的基本使用方法

组件 【1】组件是什么&#xff1f; 组件就是&#xff1a;扩展 HTML 元素&#xff0c;封装可重用的代码&#xff0c;目的是复用例如&#xff1a;有一个轮播图&#xff0c;可以在很多页面中使用&#xff0c;一个轮播有js&#xff0c;css&#xff0c;html组件把js&#xff0c;cs…