Docker 入门版

news2024/11/16 19:38:37

目录

1. 关于Docker

2. Dockr run命令中常见参数解读

3. Docker常见命令

4. Docker 数据卷

5. Docker本地目录挂载

6. 自定义镜像

Dockerfile 语法

自定义镜像模板

Demo

7. Docker网络


1. 关于Docker

在docker里面下载东西,就是相当于绿色面安装板,说人话就是docker里面会存有你想要下载软件的一切文件,包括环境,配置等,这些东西在doker里面称为镜像。

而docker里面常说的容器就是只运行镜像时,会把他和其他运行的镜像隔离开,因为不同的软件运行起来环境是很有可能不一样的,这样就可以避免冲突,这就是容器(容器是模拟了一个计算机。容器内部有自己独立的网络,独立的内存,独立的文件系统,模拟的没有那么完整,但是很像)。

博主举例:

在电脑上的软件商城下载了一个qq,然后打开了三个qq登录了三个账号。

这里软件商城就是镜像仓库,下载下来的不用安装可以直接用的qq就是镜像,打开了三个qq运行就是容器里面的三个进程

2. Dockr run命令中常见参数解读

-p:前面是宿主机端口,后面是容器内端口(宿主机端口是不一样的,多个映射时)

3. Docker常见命令

docker pull:下载镜像

docker images(image 镜像):查看所有镜像

docker rmi:删除镜像

自己构建镜像:先创建docker file,然后docker build来构建,然后打包好去部署的话,就要交给运维。有两种方式给他们,第一就是docker save保存到本地,变成一个压缩文件,然后同事就可以docker load加载到他的镜像里面(用的少)。第二种方式就是docker push推到镜像仓库(可以是公用仓库也可以是公司私有的仓库),然后同事就可以docker pull拉取下来。

docker run:创建并运行容器(这个命令是自动化的,如果发现镜像不存在就会去 镜像仓库拉取,然后再自动创建容器然后运行一条龙服务,然后容器就属于运行中的状态了,然后如果想把容器停止下来就可以docker stop,但是注意,这里停止的是容器内的一个进程(比如停止了容器里面的 一个mysql进程)但是容器还在,想重新启动mysql就用docker start启动容器内部停掉的进程。然后我怎么知道这个容器是否是启动的状态呢,就可以用docker ps查看当前容器的运行情况。删除容器就可以用docker rm。在容器运行中可以docker logs(-f持续输出日志)查看容器运行日志。还可以通过docker exec(-it就是指添加一个可交互的终端的意思:docker exec -it mysql bash就是进入了一个mysql的容器,添加了交互终端,并且是通过bash命令行的方式进行交互)进入到容器的内部,因为容器是隔离空间,本来我们是没有办法访问的,但是有时候需要对容器的修改,我们就可以通过这个命令进入容器。)

PS:

简化上面的书写:

可以去创建别名

vi ~/.bashrc

前面我我们更改的别名,后面是原始的写法

然后更改让他生效:

source ~/.bashrc

4. Docker 数据卷

一旦这个绑定产生,只需要在/html/_data目录下创建一个文件,就会自动跑到容器内的目录里面,反过来容器内的目录下做修改,宿主机的目录里这个文件也会修改。(双向映射)

volume:数据卷

然后到我们的需求

PS:挂载一定是在创建容器的时候才可以进行(同时发现,我们也不用调用docker volume create)

查看数据卷是否创建成功

查看这个卷的详细信息

验证之前的信息

然后我们现在来进行需求,改这个文件:

直接vscode打开要修改的宿主机里面的文件,就可以同步修改了容器内的数据!

有了数据卷,以后再想要修改容器内的数据,就不用进入容器内修改了!(因为容器内初始只会配置关于该镜像运行的内容,就比如vi就可能进去都没有就很麻烦,所以需要数据卷!)

5. Docker本地目录挂载

查mysql的时候发现会默认创建一个数据卷——匿名卷

他所挂载的目录(destination)是mysql的数据存储目录

6. 自定义镜像

好处是可以共享比较基础的层

就比如:

Dockerfile 语法

自定义镜像模板

Demo

运行容器

7. Docker网络

现在有两个网桥了一个是默认的一个是新增的

上面这种方式是容器已经存在了,让他去连一个网桥,现在我们来让容器运行的时候默认去连网桥

但是注意,这样就只有一个网桥了,不会加入默认的网桥了

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

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

相关文章

弘君资本:沪指跌0.46%,电力板块逆市爆发,半导体板块强势

28日,沪指早盘窄幅震动,午后回落走低;深证成指、创业板指大幅下探;两市成交额小幅萎缩。 截至收盘,沪指跌0.46%报3109.57点,深证成指跌1.23%报9391.05点,创业板指跌1.35%报1806.25点&#xff0c…

手搓顺序表(C语言)

目录 SeqList.h SeqList.c 头插尾插复用任意位置插入 头删尾删复用任意位置删除 SLtest.c 测试示例 顺序表优劣分析 SeqList.h //SeqList.h#pragma once#include <stdio.h> #include <assert.h> #include <stdlib.h> #define IN_CY 3typedef int S…

CyberDAO全国行第三站·西安圆满落幕

CyberDAO全国行第三站于2024年5月27日在西安顺利召开。以聚势启新&#xff0c;聚焦Web3新机遇&#xff0c;开启Web3财富密码为本次会议的思想路线&#xff0c;汇聚了大批Web3爱好者齐聚古城西安。CyberDAO致力于帮助更多Web3爱好者捕获行业价值。 以圆桌论坛《机遇拥抱Web3》拉…

matplotlib ---词云图

词云图是一种直观的方式来展示文本数据&#xff0c;可以体现出一个文本中词频的使用情况&#xff0c;有利于文本分析&#xff0c;通过词频可以抓住一篇文章的重点 本文通过处理一篇关于分析影响洋流流向的文章&#xff0c;分析影响洋流流向的主要因素都有哪些 文本在文末结尾 …

升级鸿蒙4.2新变化,新增 WLAN 网络自动连接开关!

手机已经成为现代人生活中不可或缺的一部分&#xff0c;手机里的功能可以满足大部分人的生活场景&#xff0c;但是最依赖的应该就是手机网络&#xff0c;手机网络突然变差怎么办——消息发不出去&#xff1f;刷新闻速度变慢&#xff1f;仔细检查后&#xff0c;发现其实不是手机…

Linux-CentOS7-解决vim修改不了主机名称(无法打开并写入文件)

Linux-CentOS7-修改主机名称 修改之后使用强制保存退出也不行。 解决办法&#xff1a; 使用hostnamectl命令进行修改 查看系统主机名和信息&#xff1a; hostnamectl这条命令会显示当前系统的主机名、操作系统信息、内核版本、架构信息等相关信息。 修改系统主机名&#xff1…

HQChart使用教程99-K线窗口设置上下间距

HQChart使用教程99-K线窗口设置上下预留间距 指标窗口布局说明设置预留间距数据结构通过Setoption设置通过ChangeIndex设置 HQChart代码地址 指标窗口布局说明 顶部预留间距(3)和底部预留间距(5) 这个部分是算在Y轴坐标上的 设置预留间距 数据结构 HorizontalReserved&#…

Hono 框架使用经验谈

Hono&#x1f525;是一个小型、快速并开源的 Serverless Web 框架&#xff0c;用 TypeScript 写就。它适用于任何JavaScript运行时&#xff1a;Cloudflare Workers&#xff0c;Fastly ComputeEdge&#xff0c;Deno&#xff0c;Bun&#xff0c;Vercel&#xff0c;Netlify&#x…

Linux:线程

文章目录 前言1. 线程概念1.1 什么是线程1.2 线程比进程更加轻量化1.3 虚拟地址到物理地址的转化物理内存的管理页表 1.4 线程的优点1.5 线程的缺点1.6 线程异常1.7 线程用途 2. 进程 vs 线程3. 线程控制3.1 线程创建3.2 线程退出3.3 线程等待3.4 分离线程3.5 线程取消 4. 线程…

开源大模型与闭源大模型:谁将引领AI的未来?

前言 在AI领域&#xff0c;开源大模型和闭源大模型一直并存&#xff0c;各自有其独特的优势和挑战。下面&#xff0c;我们将从数据隐私、商业应用和社区参与三个方向&#xff0c;对这两种模型进行深入探讨。 一、数据隐私 开源大模型&#xff1a; 1. 透明度高&#xff1a; …

Raven2掠夺者2渡鸦2账号怎么验证 注册怎么验证账号教程

《渡鸦2》作为韩国孕育的次世代MMORPG手游巨制&#xff0c;是《Raven》系列辉煌传奇的最新篇章&#xff0c;它在暗黑奇幻的广袤天地间再度挥洒创意&#xff0c;深度融合前所未有的游戏机制与海量新颖内容&#xff0c;为该类型游戏树立了崭新的里程碑。公测日期锁定在2024年5月2…

线上政务大厅如何通过智能化服务和透明流程改变政务办理模式?

一、线上政务大厅方便快捷办理业务 1、多功能集成的一站式服务 线上政务大厅集成了多种政府服务功能&#xff0c;用户只需一个账号就能访问多个服务平台&#xff0c;办理各类政务业务。包括&#xff1a; &#xff08;1&#xff09;身份认证&#xff1a;用户可以通过线上政务大厅…

春秋云境CVE-2020-26048

简介 CuppaCMS是一套内容管理系统&#xff08;CMS&#xff09;。 CuppaCMS 2019-11-12之前版本存在安全漏洞&#xff0c;攻击者可利用该漏洞在图像扩展内上传恶意文件&#xff0c;通过使用文件管理器提供的重命名函数的自定义请求&#xff0c;可以将图像扩展修改为PHP&#xf…

移动云服务器选购指南(图文教程详解)

目录 一、前言 二、基本概念 2.1 定义 2.2 部署形式 2.3 用处 三、主流平台 四、主流产品推荐 4.1 云电脑 4.2 云主机ECS 4.3 弹性公网 IP 五、选购指南 5.1 明确场景 5.2 明确需求 5.3 明确身份 新用户 老用户 5.4 明确时间 5.5 明确教程 六、总结 一、前言…

windows驱动开发-PCI讨论(二)

认识PCI设备&#xff0c;还是要从配置空间说起&#xff0c;当PCI在ACPI和PCI复合体上电和枚举完成后&#xff0c;PCI根复合体会从PCI设备读出PCI设备的配置空间&#xff0c;许多信息(例如寄存器、内存空间、中断信息等等)都是是从配置空间获取的&#xff0c;所以接下来会详细讲…

黑马python-面向对象程序设计

1.定义类 class 类名&#xff1a; 代码 ….. 注意&#xff1a;类名要满足标识符命名规则&#xff0c;同时遵循大驼峰命名习惯 2.self&#xff1a; self指调用该函数的对象 3.创建对象 对象名类&#xff08;&#xff09; 4.添加获取对象属性 对象名.属性名值 5._init_()方法&…

C#电子名片(vCard)

目录 1.介绍 2.基本定义 3.字段信息 4&#xff0c;字段详解。 4.1&#xff0c;预定义类型的用法 4.2&#xff0c;基本类型 4.3&#xff0c;通讯地址类型 4.4&#xff0c;电信通信类型 4.5&#xff0c;地理类型 4.6&#xff0c;解释类型 5&#xff0c;应用。 6&…

Java | Leetcode Java题解之第103题二叉树的锯齿形层序遍历

题目&#xff1a; 题解&#xff1a; class Solution {public List<List<Integer>> zigzagLevelOrder(TreeNode root) {List<List<Integer>> ans new LinkedList<List<Integer>>();if (root null) {return ans;}Queue<TreeNode> n…

vue-cli2项目中使用scss

前言&#xff1a; 首先要搞清楚Sass和Scss的区别&#xff1a; 实际上Sass和Scss是同一种东西&#xff0c;Scss是 Sass3 引入新的语法&#xff0c;它们都是css预处理器。通常称为Sass&#xff0c;但存在两种不同的语法风格&#xff1a; 文件扩展名&#xff1a;Sass 默认…

IP 分片过程及偏移量计算

IP 报头中的三个字段 1、 标识符&#xff08; ldentifier )&#xff1a;16 bit 该字段与 Flags 和 Fragment Offest 字段联合使用&#xff0c; 对较大的上层数据包进行分段&#xff08; fragment &#xff09; 操作。 路由器将一个包拆分后&#xff0c;所有拆分开的小包被标记…