docker 复习

文章目录

  • 1. docker 基础
    • 1.1 docker 安装
      • 配置镜像加速器
      • 拉取镜像的仓库:
    • docker 部署Mysql 镜像
    • docker 命令的详细解释
    • docker 常见命令
    • docker 数据卷
      • docker 相关命令总结
  • 2.自定义镜像
    • 2.1 dockerfile
    • 2.2 try 构建一个Java镜像,并部署
    • 2.3 总结:
  • 3. docker 网络
    • 自定义网络
  • 项目部署
    • 后端部署
    • 前端部署

1. docker 基础

1.1 docker 安装

  1. 查看是否安装的镜像已经在系统中存在: docker images (存在2,不存在 3)

  2. 卸载旧版本 yum remove docker

  3. 首先安装 yum 工具
    yum install -y yum-utils \ device-mapper-persistent-data \ lvm2 --skip-broken

    -y是yum 的一个命令,表示在安装软件包的时候不需要用户确认。使用 -y 选线会自动回答 yes 来确认安装
    --skip-broken:这是yum命令的另一个选项。当使用–skip-broken选项时,yum会尝试安装尽可能多的软件包,而不会停止在遇到依赖问题或错误的软件包上。
    lvm2:这是要安装的第三个软件包的名称。lvm2是Logical Volume Manager的一个实现,用于管理磁盘卷和逻辑卷。

  4. 设置docker 镜像
    yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

    sed -i 's/download.docker.com/mirrors.aliyun.com/docker-ce/g' /etc/yum.repos.d/docker-ce.repo
    yum makecache

  5. 安装docker,安装docker时直接安装docker-compose (安装docker时直接安装docker-compose)

  6. systemctl stop firewalld ,启动docker,要关闭防火墙

  7. systemctl disable firewalld 禁止开机启动防火墙

  8. 查看防火墙状态 systemctl status firewalld

  9. 启动docker systemctl start docker

  10. 查看docker的状态:systemctl status docker

  11. 查看docker 的版本 docker -v
    还没结束哦!!看接下来的…

配置镜像加速器

  1. tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://xxxx.mirror.aliyuncs.com"] } EOF 复制内容,注意把其中的镜像加速地址改成你自己的
  2. sudo systemctl daemon-reload 重新加载
  3. sudo systemctl restart docker 重启docker
    在这里插入图片描述

拉取镜像的仓库:

https://hub.docker.com/

docker 本身也是一个拂服务,输入的一切命令都是发给进程的。

docker 部署Mysql 镜像

按照下图运行即可:

docker run
–name mysql
-e MYSQL_ROOT_PASSWORD=密码
-p 3309:3306 – 端口映射
-v /root/images/mysqlImage/tmp/mysql/conf/hmy.cnf://etc/mysql/conf.d/hmy.cnf
-v /root/images/mysqlImage/tmp/mysql/data:/var/lib/mysql -d mysql:5.7.25

在这里插入图片描述

注:

  • 当我们利用docker 安装应用的时候,docker 会自动搜索并下载应用镜像,镜像不仅包含应用本身,还包含应用运行所需要的环境、配置 、函数库。docker 会在运行镜像时创建一个隔离环境,称为容器。
  • 运行镜像时创建一个隔离环境,因此可以开启多个服务。

在这里插入图片描述

docker 命令的详细解释

在这里插入图片描述

  • -d 服务器在后台运行
  • --name 容器名:给容器起一个名字
  • -p 宿主机端口():容器内端口(进程不需要改动) 转到容器内部
  • -e key = value eviorment -e 配置环境变量 ,由镜像的制作者
  • mysql:版本号 镜像的名称,版本号

docker 常见命令

docker 最常见的命令就是操作镜像,容器的命令,详见官方文档: https://docs.docker.com

https://docs.docker.com/engine/reference/run/ 直接到官方命令文档

  • docker pull 从镜像中拉取镜像
  • docker images 查看所有镜像
  • docker rmi 删除镜像
  • docker rm 删除容器
  • docker build 自己构建镜像
  • docker save 将自己构建的镜像通过 命令 保存到本地,形成一个压缩文件。
  • docker load 拿到压缩包,解压用
  • docker push 推送到镜像仓库中
  • docker exec 进入容器

在这里插入图片描述

**注意:

  • **docker stop 相当于停止的时容器内部的进程。容器还在 下次运行可以用 docker start 运行。
  • docker run 运行一个新的容器

案例实现:

  1. 去docker hub 中搜索nginx 拉取nginx镜像 docker pull nginx
  2. 查看镜像 docker images
  3. 创建并运行容器 docker run -d --name nginxnana -p 80:80 nginx
  4. 查看运行的容器 docker ps
  5. 停掉容器 docker stop 容器名
  6. 查看容器日志docker logs -f nginxnana
  7. 进入容器内部 docker exec -it 容器名 bash
  8. 退出容器 exit
  9. 删除容器 docker rm 容器名 -f -f 强制删除
  10. 还有命令的别名,可以自己研究~~~

docker 数据卷

定义: 容器内目录与宿主机目录的之间的映射的桥梁。

在这里插入图片描述

案例: 创建一个nginx

在这里插入图片描述

  • 创建有挂载数据卷的 nginx 容器
    在这里插入图片描述

  • 查看数据卷详细信息 docker volume inspect 数据卷名称
    在这里插入图片描述

案例2
在这里插入图片描述
查看mysql 是是否有数据卷挂载

  • docker inspect 容器名
    Mouth 放的是挂载的信息在这里插入图片描述
    基于数组机目录实现Mysql 数据目录,配置文件,初始化脚本的挂载。
    在使用 docker run 的时候,使用-v 本地目录:容器内目录 可以完成本地目录的挂在

docker 相关命令总结

  • docker images : 查看镜像
  • docker rmi :删除镜像
  • docker push: 推送镜像到镜像服务器
  • docker save :会将镜像保存为一个压缩包,可以用U盘拷贝,之后docker load 加载压缩包为镜像。
  • docker inspect 容器名 : 查看docker 容器

2.自定义镜像

镜像中的概念:

  1. 镜像是分层的
  2. 基础镜像不用每次下载
  3. 入口

在这里插入图片描述

在这里插入图片描述

2.1 dockerfile

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

当我们编写好了dockerfile,可以用命令请去构建镜像: docker build -t myImage.1.0 .

  • -t 是给构建的镜像起名字,格式: repository:tag, 不指定tag,默认为latest
  • . 是指定dockerfile 所在的目录,如果就在当前目录则指定为 .

2.2 try 构建一个Java镜像,并部署

  1. 将文件打为jar包,上传到linux中:
  2. 加载镜像docker load -i
  3. 构建镜像: docker build -t 镜像名字 dockerfile文件名
  4. 运行: docker run -d --name 名字 -p 端口映射 镜像名字
  5. docker ps 查看运行状态
  6. docker logs -f 容器名

在这里插入图片描述

访问: ip:端口号/路径

2.3 总结:

在这里插入图片描述

3. docker 网络

docker inspect 容器名称: 查看某个容器的配置
配置中有 NetWork 网络的配置。

分析: 在安装docker 的时候,docker 会在虚拟机中创建虚拟网卡,名字默认是docker0 .
在这里插入图片描述

如上图,每个容器虽然是独立的,但是因为通过 docker 建立了连接(是同一网络段的),因此可以相互访问。测试:通过进入容器,对其他容器 ping ip地址

但是上面的通过ip ping 的是有风险的,如果一个容器关闭了,新的容器启动占用了上一个容器的ip地址,这时候就ping 不通了,因此这样不合适。因此出现了 自定义网络

自定义网络

加入自定义网络 直接 ping 容器名称就可以,即使 ip 改变也可以ping的通
在这里插入图片描述

  • docker network ls
  • docker network create 名字
  • ip addr
  • docker network connect 网络名 网段名让容器加入网络
  • docker run -d -name 名字 -p 映射端口:端口 --network 网络名称 镜像名称启动容器的时候就是指定连接的网络

注意: 部署项目的时候容器互联的问题就解决了。

项目部署

后端部署

  1. 项目打包为jar包
  2. 构建镜像 docker build -t 名字:tag dockerfile
  3. 运行容器 docker run -d --name 名字 -p 端口映射:端口 --netwok 网络名称 镜像名称
  4. 查看日志前面有讲过

前端部署

创建一个nginx 容器,提供的nginx.conf、html目录与容器挂载

  1. docker run -d --name nginx -p 18080:18080 -p 18081:18081 -v 宿主路径:/usr/share/nginx/html -v 宿主文件:/etc/nginx/nginx.conf --netwok 网络名称 nginx

11111

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

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

相关文章

物流监管:智慧仓储数据可视化监控平台

随着市场竞争加剧和市场需求的不断提高&#xff0c;企业亟需更加高效、智能且可靠的仓储物流管理方式&#xff0c;以提升企业的物流效率&#xff0c;减少其输出成本&#xff0c;有效应对市场上的变化和挑战。 图扑自研 HT for Web 产品搭建的 2D 智慧仓储可视化平台&#xff0c…

Databend 开源周报第 115 期

Databend 是一款现代云数仓。专为弹性和高效设计&#xff0c;为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务&#xff1a;https://app.databend.cn 。 Whats On In Databend 探索 Databend 本周新进展&#xff0c;遇到更贴近你心意的 Databend 。 聚合索引 Data…

[计算机提升] 系统及用户操作

1.4 系统及用户操作 1.4.1 系统操作 1.4.1.1 开机、关机、重启 在Windows系统中&#xff0c;开机&#xff08;Power On&#xff09;&#xff0c;关机&#xff08;Shutdown&#xff09;和重启&#xff08;Restart&#xff09;是指计算机的不同电源控制操作。 开机&#xff1a;…

苹果平板可以用别的电容笔吗?电容笔和Apple pencil区别

和苹果原装的Pencil相比&#xff0c;这种平替的电容笔并没具备重力压感&#xff0c;只有一种倾斜的压感功能。如果你不经常用来作画&#xff0c;一支普通的电容笔就足够了。不管是用来记笔记&#xff0c;还是用来解决一些数学问题&#xff0c;都能用得上。再说了&#xff0c;即…

NAND存储器转储分析 - 使用ECC修复位错误与UBI镜像固件分析

一、 简介 这篇研究论文将通过黑客的视角&#xff0c;详细阐述如何操作 NAND dump 以及如何获取 dump 文件中的所有文件。每一步骤以及所使用的方法均会细致解析&#xff0c;并配以实例说明。本文主要关注的是物理 NAND dump&#xff0c;这是从通用编程器中提取出的 dump 文件…

项目平台——测试报告的实现(七)

这里写目录标题 一、Table表格组件的使用1、Table表格组件中的插槽使用 二、点击查看测试报告&#xff0c;跳转到测试报告详情页实现1、新建Report.vue组件2、配置路由3、查看报告按钮添加事件 三、页面布局1、Layout布局2、卡片设计3、打开页面发送请求加载报告数据4、对接口进…

Java版本+企业电子招投标系统源代码+支持二开+招投标系统+中小型企业采购供应商招投标平台

功能模块&#xff1a; 待办消息&#xff0c;招标公告&#xff0c;中标公告&#xff0c;信息发布 描述&#xff1a; 全过程数字化采购管理&#xff0c;打造从供应商管理到采购招投标、采购合同、采购执行的全过程数字化管理。通供应商门户具备内外协同的能力&#xff0c;为外部供…

大数据flink篇之三-flink运行环境安装后续一yarn-session安装

前提&#xff1a; Hadoop 必須保证在 2.2 以上&#xff0c;且必須裝有 hdfs 服务。Hadoop安装后续会有相关说明。 具体的&#xff0c;在生产环境中&#xff0c;flink一般会交由yarn、k8s等资源管理平台来处理。本章主要讲解yarn模式下的session cluster模式。 flink Session-C…

Java模拟双向链表,增删操作

public static void main(String[] args) {ArrayList arrayList new ArrayList();Node zhangsan new Node("张三");Node lisi new Node("李四");Node wanger new Node("王二");//模拟双向链表&#xff0c;将表中元素依次连接起来zhangsan.ne…

Windows运维相关经验技巧

常用工具 在线PS Photoshop在线 FAQ 电脑能上网&#xff0c;浏览器上不了网 # 错误原因&#xff1a; 设置了网络代理&#xff0c;浏览器无法通过网络代理上网# 解决办法 关闭网络代理 &#xff08;1&#xff09;wini&#xff0c;打开设置 &#xff08;2&#xff09;网络和I…

【前端学习】—函数防抖(十)

【前端学习】—函数防抖&#xff08;十&#xff09; 一、什么是函数防抖 函数防抖&#xff1a;事件被触发n秒后再执行回调&#xff0c;如果在这n秒内又被触发&#xff0c;则重新计时。 二、代码实现 <script>const searchElement document.getElementById("searc…

多语言跨境商城源码搭建(定制代码+源码开源)

在全球化的背景下&#xff0c;跨境电商发展迅猛&#xff0c;多语言商城成为企业拓展海外市场的首要选择。本文将为大家介绍跨境多语言商城的源码搭建方法&#xff0c;以及相关的定制代码和源码开源信息。 一、什么是跨境多语言商城 跨境多语言商城是一种能够支持多国语言的电子…

站外引流之道:跨境电商如何吸引更多流量?

随着跨境电商行业的蓬勃发展&#xff0c;站外引流成为卖家们必须掌握的关键技能。站外引流不仅有助于扩大产品曝光度&#xff0c;还能吸引更多潜在客户&#xff0c;提高销售额。 然而&#xff0c;站外引流并非易事&#xff0c;需要精心策划和执行。本文将探讨站外引流的策略&a…

外置告警蜂鸣器使用小坑

告警蜂鸣器调试小坑 昨天调试新产品&#xff0c;由于IMO、MSC组织和IEC标准规定&#xff0c;不能使用带红色指示灯的蜂鸣器&#xff0c;于是更换了个不带灯。然而奇怪的现象出现了两次短响的程序在有的页面正常&#xff0c;有的页面就变成一声了。搞了一天&#xff0c;把各种寄…

服务器数据恢复-linux+raid+VMwave ESX数据恢复案例

服务器数据恢复环境&#xff1a; 一台某品牌x3950 X6型号服务器&#xff0c;linux操作系统&#xff0c;12块硬盘组建了一组raid阵列&#xff0c;上层运行VMwave ESX虚拟化平台。 服务器故障&#xff1a; 在服务器运行过程中&#xff0c;该raid阵列中有硬盘掉线&#xff0c;linu…

C# 开发工具包 – 现已正式发布

作者&#xff1a;Wendy Breiding 排版&#xff1a;Alan Wang 今天&#xff0c;我们很高兴地宣布 C# 开发工具包正式发布&#xff0c;C# 开发工具包是一个 Visual Studio Code 扩展&#xff0c;为 Linux、macOS 和 Windows 带来了改进的编辑器优先 C# 开发体验。 谢谢社区的努…

vscode提示扩展主机在过去5分钟内意外终止了3次,解决方法

参考链接&#xff1a; https://code.visualstudio.com/blogs/2021/02/16/extension-bisect https://code.visualstudio.com/docs/setup/uninstall#_clean-uninstall 使用vscode打开jupyter notebook记事本时&#xff0c;窗口右下角提示扩展主机在过去5分钟内意外终止了3次 而…

C++初阶--C++入门(1)

文章目录 C语言与C命名空间命名空间的定义和使用 C的输入输出缺省参数函数重载引用赋值与引用引用在参数上的使用以及注意事项函数返回值的引用引用与值的时间效率比较常引用 C语言与C 很多初学者都会把这两门语言进行混淆&#xff0c;但其实这是两种不同的语言&#xff0c;C相…

HTML5播放 M3U8的hls流地址

在HTML5页面上播放M3U8的hls流地址 <!DOCTYPE html> <html> <head> <meta charset"UTF-8"> <title>视频播放</title> <script src"https://cdn.jsdelivr.net/npm/hls.jslatest"></script> &…

CSS3 渐变

CSS3 渐变可以让你在两个或多个指定的颜色之间显示平稳的过渡。 CSS3渐变有两种类型&#xff1a;线性渐变&#xff08;Linear Gradients&#xff09;和径向渐变&#xff08;Radial Gradients&#xff09;。 线性渐变&#xff08;Linear Gradients&#xff09;&#xff1a; 线性…