Docker 2025/2/24

news2025/2/28 21:46:25

用来快速构建、运行和管理应用的工具。帮助部署。

快速入门

代码略

解释

docker run :创建并运行一个容器,-d是让容器在后台运行
--name mysql :给容器起个名字,必须唯一
-p 3306:3306 :设置端口映射
-e KEY=VALUE :是设置环境变量
mysql :指定运行的镜像的名字

Docker基础

常见命令

操作镜像、容器

docker ps :查看docker中的镜像状态
docker ps --format "table..(不写了)" :查看docker中的镜像特定状态
root可以用~代替
自己起命令别名修改root下的.bashrc
source ~/.bashrc :命令别名生效
docker exec -it nginx bash :连接nginx容器 用命令行交互

数据卷挂载

数据卷volume是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁。

创建数据卷对应的目录,固定目录/var/lib/docker/volumes

要让容器的目录和数据卷的目录做挂载。

可见,数据卷是容器目录和宿主机目录之间的桥梁。

可以实现宿主机目录和容器目录间的双向绑定,双向映射。修改宿主机里的文件,容器内也会修改;反之也可以。

下面是有关数据卷的命令:

docker volume --help :查看所有命令帮助信息

-----
使用-v挂载
挂载的动作必须在docker run命令时进行
如果容器已经创建没法挂载
如果创建容器时挂载的数据卷不存在,会自动创建
-----

docker rm -f nignx :删除原来的
docker run -d --name nginx -p 80:80 -v html:usr/share/nginx/html nginx :-p是端口映射 -v数据卷和容器目录的挂载,前面数据卷名字,后面目录
docker ps :看
docker volume ls :查看数据卷的列表
docker volume inspect html :展示卷的详细信息
ll :查看
cat :查看
vi :修改

本地目录挂载

docker volume inspect html :查看某个数据卷的详情,其中html是数据卷的名字
docker inspect xxx :查看容器xxx的详情

-----
docker run -v 本地目录:容器内目录   可以完成本地挂载本地目录必须以/或./开头,如果以名称开头,会被识别为数据卷而非本地目录
-----

Mysql有匿名卷,不建议用,挂载位置太深不方便迁移,建议自己挂载到自己设置的目录,持久保存,不易丢失

 

自定义镜像

镜像就是包含了应用程序本身、程序运行的系统函数库、运行配置等文件的文件包。构建镜像的过程其实就是把上述文件打包的过程。

Dockerfile是一个文本文件,其中包含一个个指令,用指令来说明要执行什么操作来构建镜像, 将来docker可以据此帮我们构建镜像。(总之Dockerfile构建镜像)

docker build -t docker-demo . :构建镜像
docker run -d --name dd -p 8080:8080 docker-demo
运行 -d后台运行 --name起个名字 --p端口映射 最后写镜像名字docker-demo
docker logs -f dd :查看日志,dd是容器名

 

网络

在安装docker时,docker就会在虚拟机创建一张虚拟的网卡docker0,并且会给这个网卡创建一个虚拟的网桥。

docker inspect 容器名 :查看发现各个容器ip最后一个数不一样

 加入自定义网络的容器才可以通过容器名互相访问,命令如下:

docker network ls :查看
docker network create heima :创建自己的网络heima
ip addr :查看
docker network connect heima mysql :heima网络名 mysql容器名
docker inspect mysql :查看mysql容器
docker network connect heima dd :连容器
docker rm -f dd :删dd容器
docker run -d --name dd -p 8080:8080 --network heima docker-demo
在创建容器那一刻直接加入网络
docker inspect dd :查看dd
docker exec -it dd bash :进入dd容器bash
ping mysql(可以ping通)
ping nginx(不在这个网桥,访问不通)

总结:两个容器加入同一个网络,他们就可以用容器名互相访问了(前提必须是自定义网络)。 

项目部署

DockerCompose

下图右边是DockerCompose,还有网络hmall也对应忘记划了。

DockerCompose命令:

docker compose up -d :一键启动,加-d后台运行
docker compose ps :查看这个项目下的所有进程
docker compose down :移除不玩了
docker network ls :查看网络,观察到也被移除了

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2307571.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

爱普生SG-8101CE可编程晶振赋能智能手机的精准心脏

在智能手机高速迭代的今天,高性能、低功耗与小型化已成为核心诉求。智能手机作为人们生活中不可或缺的工具,需要在各种复杂场景下稳定运行。爱普生SG-8101CE可编程晶振凭借其卓越性能,成为智能手机中不可或缺的精密时钟源,为通信、…

StableDiffusion打包 项目迁移 项目分发 1

文章目录 SD项目迁移前置知识webui-user.batwebui.batlaunch_utils.py 下一篇开始实践 SD项目迁移 显卡驱动更新:https://www.nvidia.cn/geforce/drivers/ 下载安装三个程序: python3.10.6: https://www.python.org/downloads/release/python-3106/gi…

【数据结构进阶】哈希表

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:数据结构 目录 前言 一、哈希表的概念 二、哈希函数的实现方法 1. 直接定址法 2. 除留余数法 三、哈希冲突 1. 开放定址法(闭散列&#xff0…

【蓝桥杯嵌入式】各模块学习总结

系列文章目录 留空 文章目录 系列文章目录前言一、LED模块1.1 赛题要求1.2 模块原理图1.3 编写代码1.4 赛题实战 二、LCD模块2.1 赛题要求2.2 模块原理图2.3 编写代码2.4 赛题实战 三、按键模块3.1 赛题要求3.2 模块原理图3.3 编写代码3.4 赛题实战 四、串口模块4.1 赛题要求4…

Rust学习总结之-枚举

枚举是一个很多语言都有的功能,不过不同语言中其功能各不相同但是要表达的意思是一致的,枚举就是对于一个事物可以穷举出所有可能得值。比如说人的性别就可以用枚举,男人和女人两种。下面我们来学习Rust中的枚举。 一:枚举定义 …

Linux系统管理(十七)——配置英伟达驱动、Cuda、cudnn、Conda、Pytorch、Pycharm等Python深度学习环境

文章目录 前言安装驱动下载安装Cuda编辑环境变量安装Cudnn安装conda验证安装成功配置conda镜像退出conda环境创建python环境查看当前conda环境激活环境安装python包安装pytorch 安装pycharm安装jupyter notebook 前言 深度学习和大语言模型的部署不免会用到Linux系统&#xff…

SLAM算法工程师的技术图谱和学习路径

SLAM(Simultaneous Localization and Mapping)算法工程师是负责开发和实现用于机器人、自动驾驶车辆等领域的SLAM算法的专业人士。下面是SLAM算法工程师需要掌握的基础理论知识: 机器人运动学和动力学:理解机器人在空间中的运动方式和控制方法,包括轮式、蜘蛛腿、飞行器等…

深入了解 Python 中的 MRO(方法解析顺序)

文章目录 深入了解 Python 中的 MRO(方法解析顺序)什么是 MRO?如何计算 MRO?C3 算法的合并规则C3 算法的合并步骤示例:合并过程解析 MRO 解析失败的场景使用 mro() 方法查看 MRO示例 1:基本用法 菱形继承与…

如何防止 Instagram 账号被盗用:安全设置与注意事项

如何防止 Instagram 账号被盗用:安全设置与注意事项 在这个数字化时代,社交媒体平台如 Instagram 已成为我们日常生活的一部分。然而,随着网络犯罪的增加,保护我们的在线账户安全变得尤为重要。以下是一些关键的安全设置和注意事…

采样算法二:去噪扩散隐式模型(DDIM)采样算法详解教程

参考 https://arxiv.org/pdf/2010.02502 一、背景与动机 去噪扩散隐式模型(DDIM) 是对DDPM的改进,旨在加速采样过程同时保持生成质量。DDPM虽然生成效果优异,但其采样需迭代数百至数千次,效率较低。DDIM通过以下关键…

各种类型网络安全竞赛有哪些 网络安全大赛的简称

本文是对入门学习的一些概念了解和一些常规场景记录 1.CTF(capture the flag)是夺旗赛的意思。 是网络安全技术人员之间进行攻防的比赛。 起源1996年DEFCON全球黑客大会,替代之前真实攻击的技术比拼。 (DEFCON极客大会诞生1993,…

包子凑数——蓝桥杯真题Python

包子凑数 输入输出样例 示例 1 输入 2 4 5输出 6样例说明 凑不出的数目包括:1, 2, 3, 6, 7, 11。 示例 2 输入 2 4 6输出 INF样例说明 所有奇数都凑不出来,所以有无限多个 运行限制 最大运行时间:1s最大运行内存: 256M 最大公约数 最大公…

网络通信/IP网络划分/子网掩码的概念和使用

文章目录 概述子网的考题子网掩码的历史有/无类地址子网划分!子网掩码超网技术/CIDR子网掩码和路由IP子网掩码定义 网络规划网络规划-拆子网网络规划-组超网子网划分案例 区分于其他特殊IP地址IP地址和网络地址子网掩码和网络地址子网掩码和广播地址 子网间的通信其他 概述 本…

MySQL--》如何在MySQL中打造高效优化索引

目录 初识索引 索引结构 性能分析 索引使用 最左前缀法则 SQL提示使用 覆盖索引使用 前缀索引使用 索引失效情况 初识索引 索引(index):是帮助MySQL高效获取数据的数据结构(有序),在数据之外数据库系统还维护着满足特定查找算法的数据结构&…

盛京开源社区加入 GitCode,书写东北开源生态新篇章

在数字化转型与开源技术蓬勃发展的浪潮下,开源社区已成为推动技术创新的核心力量。盛京开源社区(SJOSC)作为沈阳地区的开源交流平台,始终致力于连接开发者、企业及高校,构建区域技术生态圈。 现在,盛京开源…

网络运维学习笔记(DeepSeek优化版)005网工初级(HCIA-Datacom与CCNA-EI)链路层发现协议与VLAN技术

文章目录 一、链路层发现协议1.1 思科CDP协议1.2 华为LLDP协议 二、VLAN(Virtual Local Area Network,虚拟局域网)技术详解2.1 基本概念2.2 技术特性2.3 接口工作原理2.3.1 Access模式2.3.2 Trunk模式 2.4 厂商配置对比思科配置华为配置 2.5 …

DeepSeek开源周Day4:三连发!突破 AI 训练瓶颈的立体解决方案,并行计算三剑客DualPipe、EPLB与Profile-data

项目地址: https://github.com/deepseek-ai/DualPipehttps://github.com/deepseek-ai/eplbhttps://github.com/deepseek-ai/profile-data 开源日历:2025-02-24起 每日9AM(北京时间)更新,持续五天 (4/5)! ​ ​ 一、背景概述 …

树莓百度百科更新!宜宾园区业务再添新篇

树莓集团宜宾园区业务不断拓展,主要体现在以下几个方面: 产业布局 -聚焦数字经济核心领域:涵盖软件开发、人工智能、大数据等,吸引众多上下游企业入驻,形成从芯片研发、软件开发到系统集成的完整产业链条。 -推进“双…

RabbitMQ操作实战

1.RabbitMQ安装 RabbitMQ Windows 安装、配置、使用 - 小白教程-腾讯云开发者社区-腾讯云下载erlang:http://www.erlang.org/downloads/https://cloud.tencent.com/developer/article/2192340 Windows 10安装RabbitMQ及延时消息插件rabbitmq_delayed_message_exch…

OpenWebUI配置异常的外部模型导致页面无法打开

一、使用Ollama关闭OpenAI OpenWebUI自带OpenAI的API设置,且默认是打开的,默认情况下,启动后,会不断的去连https://api.openai.com/v1,但是无法连上,会报错,但是不会影响页面,能正常…