Docker基础语法

目录

一.docker安装

二.docker基础名词

三.docker基础命令

四.命令别名

五.数据卷

六.挂载本地目录或文件

七.Docker镜像

八.网络


一.docker安装


1.安装yum工具
yum install -y yum-utils device-mapper-persistent-data lvm2


2.安装 docker  yum源
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo


3.安装docker
yum install docker-ce


4.启动docker
systemctl start docker


5.查看docker状态
systemctl status docker


6.开机启动
systemctl enable docker


二.docker基础名词


镜像:应用及其运行所需要的环境、配置、系统级函数库


容器:docker会在运行镜像时创建一个隔离外界的环境


镜像仓库:提供存储、管理Docker镜像的服务器


三.docker基础命令
 

docker运行命令:

docker run -d \   创建并运行一个容器,-d则是让容器以后台进程运行

--name mysql \    给容器起个名字叫mysql 注:取容器名时,最好不要与镜像名重复

-p 3306:3306 \    设置端口映射   :给端口时前面的端口与后面的端口最好不同              

-e TZ=Asia/Shanghai \  配置容器内进程运行时的一些参数

-e MYSQL_ROOT_PASSWORD=123 \

mysql  设置镜像名称

对-p参数的解释:

 -p 宿主机端口:容器内端口,示例中就是将宿主机的3306映射到容器内的3306端口

常见基本命令:

用一副图来表示这些命令的关系:

四.命令别名

1.修改/.bashrc文件

vi ~/.bashrc

2.添加别名

alias dps='docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"'

3.使别名生效

source /root/.bashrc

五.数据卷

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

数据卷将宿主机和Nginx容器关联:

在上图中:

  • 我们创建了两个数据卷:confhtml

  • Nginx容器内部的conf目录和html目录分别与两个数据卷关联。

  • 而数据卷conf和html分别指向了宿主机的/var/lib/docker/volumes/conf/_data目录和/var/lib/docker/volumes/html/_data目录

这样以来,容器内的confhtml目录就 与宿主机的confhtml目录关联起来,我们称为挂载。此时,我们操作宿主机的/var/lib/docker/volumes/html/_data就是在操作容器内的/usr/share/nginx/html/_data目录。只要我们将静态资源放入宿主机对应目录,就可以被Nginx代理了

数据卷的相关命令有:

注意:容器与数据卷的挂载要在创建容器时配置,而且创建容器的过程中,数据卷会自动创建

nginx的html目录挂载:          

docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx

                                                             数据卷            挂载点

六.挂载本地目录或文件

语法:-v 本地目录:容器内目录或文件

mysql容器本地目录挂载:

  • 挂载/root/mysql/data到容器内的/var/lib/mysql目录

  • 挂载/root/mysql/init到容器内的/docker-entrypoint-initdb.d目录(初始化的SQL脚本录)

  • 挂载/root/mysql/conf到容器内的/etc/mysql/conf.d目录(这个是MySQL配置文件目录)


   

 docker run -d \--name mysql \ -p 3306:3306 \-e TZ=Asia/Shanghai \-e MYSQL_ROOT_PASSWORD=123 \-v ./mysql/data:/var/lib/mysql \-v ./mysql/conf:/etc/mysql/conf.d \-v ./mysql/init:/docker-entrypoint-initdb.d \mysql

七.Docker镜像

镜像:应用程序、程序运行的系统函数库、运行配置等文件的文件包

 

镜像结构图:

Dockerfile:一个文本文件, 其中包含一个个的指令(Instruction),用指令来说明要执行什么操作来构建镜像。将来Docker可以根据Dockerfile帮我们构建镜像。

常见指令:

八.网络

常见命令:

# 1.首先通过命令创建一个网络
docker network create hmall# 2.然后查看网络
docker network ls# 3.让dd和mysql都加入该网络
#网络内的容器可以用容器名互相访问!
# 3.1.mysql容器
docker network connect hmall mysql # 3.2.db容器,也就是我们的java项目
docker network connect hmall dd# 4.进入容器
docker exec -it dd bash# 5.用容器名访问
ping mysqlPING mysql (172.18.0.2) 56(84) bytes of data.64 bytes from mysql.hmall (172.18.0.2): icmp_seq=1 ttl=64 time=0.044 ms64 bytes from mysql.hmall (172.18.0.2): icmp_seq=2 ttl=64 time=0.054 ms

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

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

相关文章

EXECL 单元格字符串链接 CONCAT :应用:将一行数据转为json

源: 目标 函数表示 CONCAT("data", CHAR(10), "{", CHAR(10), " ", "ulAlarmId : ", A5, CHAR(10), " ", "ulAlarmLevel : ", D5, CHAR(10)," ", "bBo…

JavaEE-微服务-Vuex

Vuex 2.1 什么是Vuex Vuex 是一个专为 Vue.js 应用程序开发的状态管理模式。 Vuex在组件之间共享数据。 2.2 使用 vue cli 构建项目 2.3 入门案例 2.3.1 定义数据 export default new Vuex.Store({state: { // 状态区域(定义变量区域)user: ,toke…

Ubuntu Desktop 隐藏 / 显示文件和文件夹

Ubuntu Desktop 隐藏 / 显示文件和文件夹 1. GUI hot key2. Show hidden and backup filesReferences 1. GUI hot key Ctrl H: 隐藏 / 显示文件和文件夹 2. Show hidden and backup files Edit -> Preferences -> Views References [1] Yongqiang Cheng, https://yo…

梳理Langchain-Chatchat知识库API接口

一.Langchain-Chatchat 知识库管理 1.Langchain-Chatchat 对话和知识库管理界面 Langchain-Chatchat v0.28 完整的界面截图,如下所示: 2.知识库中源文件和向量库 知识库 test 中源文件和向量库的位置,如下所示: 3.知识库表结构 k…

一夜暴增200城,智驾开城秘诀在哪?小鹏、理想、大疆等各有不同

作者 |Marshall 编辑 |祥威 一夜过后,城市NOA可用范围突然增至两百多城市,这是最近小鹏的智驾给大家的印象。 我们曾在「特斯拉、小鹏开路,城市NOA距好用还有几年?」一文中,探讨了城市NOA落地过程中所面临的地图问题…

vue3-组件基础

什么是组件 组件允许我们将 UI 划分为独立的、可重用的部分,并且可以对每个部分进行处理。在实际应用中,组件常常被组织成层层嵌套的树状结构。 定义一个组件 我们一般会将 Vue 组件定义在一个单独的 .vue 文件中,这被叫做单文件组件 (简称…

TypeScript 实用技巧(中)

十四、向类型添加特殊值 原文:exploringjs.com/tackling-ts/ch_special-values.html 译者:飞龙 协议:CC BY-NC-SA 4.0 14.1 在带内添加特殊值 14.1.1 向类型添加 null 或 undefined 14.1.2 向类型添加符号 14.2 在带外添加特殊值 14.2…

[亲测有效]CentOS7下安装mysql5.7

前言 近期项目需要搭配mysql一起存储相关数据,但对mysql的版本有要求,于是在服务器搭建了mysql5.7,顺便记录一下搭建步骤和踩坑解决步骤。 目录 前言 一、清除旧安装包 二、安装YUM 三、使用yum命令即可完成安装 四、重新设置密码 五、…

文心一言 v.s. ChatGPT:多角度对比测评“追赶者”能否超越?

ChatGPT自发布以来就引发了关注热潮,如今国内大模型的发展也是如火如荼、百花齐放:比如百度的文心一言、阿里的通义千问、讯飞的星火大模型等等,那么作为后起之秀的国内大模型与ChatGPT相比哪个更好用呢?“追赶者”能否实现超越&a…

使用Unity创建VisionPro应用

1、下载特定Unity版本 Unity账号需要是Pro账号,普通账号不行,目前只支持这1个Unity版本,不要下载任何其它版本:unityhub://2022.3.11f1/d00248457e15) 其它条件:使用Mac电脑M系列芯片,XCode15 Beta2及以上 参考资料: 苹果官网:苹果官网 Unity官网:Unity官网 官方教程…

Network:use `--host` to expose

前言: 最近开始学习使用vite创建项目,但是 vite 启动后提示:Network:use --host to expose,从而导致在同一个局域网内的其他人也无法访问到我本地的项目。 导致原因:通过官方文档了解到不显示地址是因为IP没有做配置&a…

浏览器无网

目录 1.运行网络诊断,确认原因 原因A.远程计算机或设备将不接受连接(该设备或资源(Web 代理)未设置为接受端口“7890”上的连接 原因B.DNS服务器未响应 场景A.其他的浏览器可以打开网页,自带的Edge却不行 方法A:关闭代理 Google自带翻译…

【江科大】STM32:中断系统(理论)

文章目录 中断系统为什么要使用中断中断优先级中断嵌套STM32的中断系统如何管理这些中断NVIC的结构![请添加图片描述](https://img-blog.csdnimg.cn/c77b038fd63a4ddfbcd3b86f6dfe596b.png) 优先级窗口看门狗(WWDG):外部中断模块的特性&#…

前后端分离项目中实现图形验证码

图形验证码在我们的日常生活中时经常用到的,一般用于用户的登录、注册等。 图形验证码在互联网应用中的作用是提高安全性、防止滥用和保护用户隐私。它是一种简单而有效的人机验证技术,帮助保护系统和用户免受自动化攻击的影响。 本次我们通过spring b…

损失函数是指什么

损失函数(Loss Function)是用来衡量模型预测输出与实际目标之间差异的函数。在机器学习和深度学习中,损失函数是模型训练的关键部分。其目标是通过最小化损失函数来使模型的预测尽可能接近实际的标签或目标值。 在监督学习中,模型…

Adobe Media Encoder 2023下载安装教程,ME 2023安装教程,附安装包和工具,无套路,轻松搞的安装

前言 Adobe Media Encoder是一个视频和音频编码应用程序,可让针对不同应用程序和观众,以各种分发格式对音频和视频文件进行编码。包括专门设计的预设设置,以便导出与特定交付媒体兼容的文件,可以按适合多种设备的格式导出视频&am…

漫漫数学之旅010

文章目录 经典格言数学习题古今评注科学家小传(一)艾伦凯(二)托马斯C黑尔斯 经典格言 计算机的归宿是融入我们的生活,就像其它一切我们习以为常的东西:手表、纸、铅笔和衣服,我们不再把它们看作…

Hbas简介:数据模型和概念、物理视图

文章目录 说明零 BigTable一 Hbase简介二 HBase 访问接口简介三 行式&列式存储四 HBase 数据模型4.1 HBase 列族数据模型4.2 数据模型的相关概念4.3 数据坐标 五 概念&物理视图 说明 本文参考自林子雨老师的大数据技术原理与应用(第三版)教材内容,仅供学习…

Gen AI大潮来袭!8个Salesforce新岗位,你会选择哪个?

人工智能席卷全球,企业对如何整合GenAI有着浓厚的兴趣。为启动企业的GenAI转型浪潮,Salesforce宣布与埃森哲和德勤建立合作伙伴关系,并计划推出更多支持项目。 目前,Salesforce领域的其他咨询公司正在提高员工技能,以…

Apache Zeppelin结合Apache Airflow使用1

Apache Zeppelin结合Apache Airflow使用1 文章目录 Apache Zeppelin结合Apache Airflow使用1前言一、安装Airflow二、使用步骤1.目标2.编写DAG2.加载、执行DAG 总结 前言 之前学了Zeppelin的使用,今天开始结合Airflow串任务。 Apache Airflow和Apache Zeppelin是两…