Docker:docker在项目中常用的一些命令

简介
  Docker 是一个开源的容器化平台,它允许开发者将应用程序及其依赖项打包到一个可移植的容器中,并发布到任何安装了 Docker 引擎的机器上。这些容器是轻量级的,包含了应用程序运行所需的所有东西,如代码、系统库、系统工具、运行时环境等,以确保应用程序在不同环境中都能一致地运行。
  这使得应用程序可以在几乎任何环境中轻松部署,并且能够快速扩展和管理。Docker极大地简化了应用程序的交付和部署流程,同时提高了资源利用率和可移植性。因此,Docker被广泛应用于DevOps、持续集成/持续部署以及云计算等领域。

Docker的应用场景

1.面向开发人员的Web应用自动化打包和发布
  在没有Docker之前,开发、测试、生产环境可能不同,这可能导致文件配置上的不一致。然而,使用Docker,在容器内的程序端口都是一致的,而容器对外暴露的端口可能不同,但不影响程序的交付和运行,从而保证了开发环境与生产环境的一致性,并实现了快速部署。
Docker还可以为应用程序提供稳定的运行环境,使开发人员可以轻松在不同的系统上测试和运行软件,而无需考虑与操作系统或其他应用程序的冲突。

2.面向运维人员的运维成本降低
  部署程序时搭建运行环境是很费时间的工作,同时还要解决环境的各种依赖。而Docker通过镜像机制,将需要部署运行的代码和环境直接打包成镜像,上传到容器即可启动,节约了部署各种软件的时间。
Docker可以帮助管理员自动化应用程序的部署和操作,也可以轻松地横向扩展和缩小服务器,以便根据需要扩展或减少服务。

3.面向企业的PaaS层实现
  使用Docker,在一台物理机上就可以部署多个轻量化的容器,运行效率上会有很大的提升。

4.DevOps和持续集成/持续部署(CI/CD):
  Docker支持DevOps流程,通过容器化应用程序,实现了在不同环境中一致的构建、测试和部署。CI/CD工具(如Jenkins、GitLab CI)能够更高效地与Docker集成,实现自动化的构建和部署流程。

5.微服务架构
  Docker为构建和管理微服务提供了理想的解决方案。每个微服务可以被打包成一个独立的容器,方便部署、扩展和管理。容器的隔离性保证了微服务之间的相互独立运行。

6.大数据和分布式系统
  Docker也可以用于大数据和分布式系统的部署和管理,因为它可以轻松地扩展和缩小资源,以满足大数据处理的需求。

7.云计算和容器服务
  Docker可以作为云计算平台的基础架构,例如Kubernetes、Mesos或Docker Swarm,提供高度扩展、可靠性和安全性。

8.多租户应用程序的隔离
  Docker可以为多租户应用程序提供隔离的容器,从而不同租户之间的应用程序和数据可以彼此隔离,提高了安全性。

掌握项目中一些常用命令

查看容器信息

docker ps -a-a:显示所有的容器,包括正在运行和已经停止的容器。-q:仅显示容器的ID,而不显示其他信息。--filter:根据指定的条件过滤要显示的容器,例如根据状态、标签等。--format:指定输出的格式,可以自定义输出的信息。-l:显示最近创建的容器,包括已经停止的容器。-n:显示最近创建的N个容器,N为数字。

在这里插入图片描述
查看镜像信息

docker images
-a: 列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
--digests: 显示镜像的摘要信息;
-f: 显示满足条件的镜像;
--format: 指定返回值的模板文件;
--no-trunc: 显示完整的镜像信息;
-q: 只显示镜像ID
runoob@runoob:~$ docker images
REPOSITORY              TAG                 IMAGE ID            CREATED             SIZE
mymysql                 v1                  37af1236adef        5 minutes ago       329 MB
redis                   latest              4465e4bcad80        3 weeks ago         185.7 MB
python                  3.5                 045767ddf24a        3 weeks ago         684.1 MB

重启容器

docker restart  容器id/容器名称

启动容器

docker start 容器id

停止容器

docker stop  容器id

删除容器

docker rm  容器id

停止所有容器

docker stop $(docker ps -a -q)

删除所有容器

docker rm $(docker ps -a -q)

删除所有镜像

docker rmi $(docker images -q)

如何进入容器中

1.首先使用下面的命令,查看容器ID(CONTAINER ID):

docker ps -a

2.然后用下面的命令进入容器,就可以使用bash命令浏览容器里的文件:

docker exec -it [CONTAINER ID] bash有的镜像没有bash命令,可以用对应的shell,比如sh
docker exec -it [CONTAINER ID] sh

如何进行跟踪查看日志

1.首先使用下面的命令,查看容器ID(CONTAINER ID):

docker ps -a

2.查看日志

docker logs -f CONTAINER_ID
-f: 跟踪日志输出
--since: 显示某个开始时间的所有日志
-t: 显示时间戳
--tail: 仅列出最新N条容器日志
查看日志,只显示最后200行
docker logs --tail 200 CONTAINER_ID查看最近30分钟的日志
docker logs --since 30m CONTAINER_ID查看某时间之后的日志
dockere logs -t --since "2020-10-25T14:06:30" CONTAINER_ID

docker 删除镜像

1.先查看镜像是否有对应的容器

docker ps -a

2.有容器的话,先删除容器,不然会删除失败

docker rm 容器id

3.再删除镜像文件

docker rmi 镜像id

运行容器

docker rundocker run -i(保持容器一直运行)-t(给容器一个伪终端)-d(后台运行,不直接进入容器) --name=tomcat9.2(给启动容器起名字)-p 8080:8080(宿主:docker容器)tomcat:9.2(启动的容器)  通过 -it 启动的容器有两个特点 一创建就进入容器 exit退出容器 容器就会停止运行  ---交互式容器通过 -id 创建的容器 docker exec -it tomcat9.2--name起的名称)进入容器 exit退出容器 容器不会停止运行   ---守护式容器

数据卷添加的方式
  Docker数据卷(Data Volumes)是宿主机中的一个目录或文件,它可以在容器之间共享和重用,使得本地与容器间传递数据更高效。

数据卷–添加两种方式

1.	直接命令形式添加  docker run -it -v 宿主机绝对路径目录:容器内目录 镜像文件名称
2.	Dockerfile方式添加docker run --name nginx81 -d -p 81:80 -v /data/nginx/html:/usr/share/nginx/html nginx-v /data/nginx/html: linux虚拟机目录/usr/share/nginx/html 容器中html目录

项目实践:安装MySQL5.7
1.查询mysql版本

docker search mysql

2.下载MySQL5.7版本

docker pull mysql:5.7  (这里选择的是第一个mysql镜像, :5.7选择的5.7版本)

3.等待下载完成、创建MySQL容器

创建容器名称为mysql3308,密码为rootdocker create --name mysql3308 -e MYSQL_ROOT_PASSWORD=root -p 3308:3306 mysql:5.7

4.操作容器,连接mysql

启动容器
docker start mysql3308进入到容器
docker exec -it mysql3308 bashmysql连接
mysql -uroot –p

以上是项目中一些经常使用的命令。

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

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

相关文章

数据结构与算法===回溯法

文章目录 原理使用场景括号生成代码 小结 原理 回溯法是采用试错的思想,它尝试分步骤的去解决一个问题。在分步骤解决问题的过程中,当它通过尝试发现现有的分步答案不能得到有效的正确的解答的时候,它将取消上一步甚至是上几步的计算&#x…

Android 10.0 Launcher3定制folder文件夹2x2布局之二foldericon的2x2的显示布局

1.前言 在10.0的系统rom产品定制化开发中,在对Launcher3的folder文件夹功能定制中,要求folder文件夹跨行显示,就是 2x2布局显示,默认的都是占1格的,现在要求占4格显示,系统默认是不支持显示4格的,所以接下来需要分析相关的 功能,然后来实现这个功能 2.Launcher3定制fo…

递归式--三种求解时间复杂度的方法

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言一、代换法二、递归树法三.主方法总结 前言 学无止境,笔勤不辍。很久没有更新算法专栏了…笔者终于找到时间来更新了。今天,笔者给大家…

基于FPGA音视频矩阵-2K/4K分辨率解决方案

① 单板支持4进4出含4096x2160P30 及以下任意分辨率视频 ② 单板支持HDMI 接口、VGA接口、 DVI接口、光纤接口、SDI 接口、 HDBASET接口 ③ 接口输入分辨率自适应 ④ 接口输出分辨率任意配置 ⑤ 20ms广电级别切换速度以及延迟 ⑥ 图像纯RGB处理,色彩更准确 ⑦…

StarRocks 【新一代MPP数据库】

1、StarRocks 1.1、StarRocks 简介 StarRocks 是新一代极速全场景 MPP (Massively Parallel Processing,MPP数据库是一种基于大规模并行处理技术的数据库系统,旨在高效处理大量数据。) 数据库。StarRocks 的愿景是能够让用户的数据分析变得更加简单和敏…

易图讯三维电子沙盘-大数据处理服务

易图讯科技10名高级大数据工程师,高效、快速进行POI、DEM、高清卫星影像、地形地貌、路网、矢量地图等海量大数据处理服务。 免费专业提供POI、AOI、DEM、高清卫星影像、地形地貌、路网、矢量地图等海量大数据处理服务。 1年更新2次POI、高清卫星影像。

微软或将发布全新AI大模型,欲与GPT-4和Gemini一较高下

科技巨头微软正积极研发一款名为MAI-1的全新大型语言模型,该模型有望与谷歌Gemini、Anthropic的Claude以及OpenAI的GPT-4等顶尖模型展开竞争。 据The Information报道,这是微软自向OpenAI投资超过100亿美元获取其AI模型使用权以来,首次自主研…

18 【Aseprite 作图】工具栏介绍

1 在没有输入法的情况下, 按住Shift 大写的N,就可以快速新建图层 ctrl z 撤回这个图层 2 双击图层,可以修改图层名称和属性 3 按住图层,拖动图层,可以把图层拉到 组,就可以方便一组一组管理图层 4 保存的…

机器学习1——线性回归、误差推导

有监督——分类、回归 一、线性回归 对于一个线性方程,没办法拟合所有的数据点,但是要尽可能的覆盖尽可能多的点。 在下面的图中,x01。添加这一项的目的是:将数据矩阵补全(比如年龄是x1、工资是x2,那么x0手…

java项目之车辆管理系统(springboot+vue+mysql)

风定落花生,歌声逐流水,大家好我是风歌,混迹在java圈的辛苦码农。今天要和大家聊的是一款基于springboot的车辆管理系统。项目源码以及部署相关请联系风歌,文末附上联系信息 。 项目简介: 车辆管理系统的主要使用者分…

WEB后端复习——JSP、EL、JSTL

JSP:Java Serve Pages(Java服务器页面) 运行在服务器的脚本、在静态网页HTML代码中嵌入java 优势特点 1.被编译后可以多次直接运行,代码执行效率高(一次加载、多次可用) 2.动态代码封装,组件可重用性高(JavaBean EJ…

【recast-navigation-js】通过websocket获取navmesh数据并初始化

目录 说在前面目录结构websocket服务器前端结果 说在前面 操作系统:windows 11浏览器:edge版本 124.0.2478.97recast-navigation-js版本:0.29.0golang版本:1.21.5 目录结构 D:. │ go.mod │ go.sum │ main.go // websocket …

HCIE学习笔记----OSPF详解

OSPF邻居建立的条件 OSPF建立邻居“41”条件总结 4个一致 一个不一致 1.保证接口的前缀 网络信息一致 2.保证ospf区域号和区域类型一致 3.hello包间隔时间和死亡时间一致 4.认证类型和认证认证信息一致 5.路由器的ID不一致 保证唯一性 一-----OSPF 邻接关系建立过程与状…

LeetCode题练习与总结:二叉树的中序遍历--94

一、题目描述 给定一个二叉树的根节点 root ,返回 它的 中序 遍历 。 示例 1: 输入:root [1,null,2,3] 输出:[1,3,2]示例 2: 输入:root [] 输出:[]示例 3: 输入:roo…

微服务思想以及实现

文章目录 前言一、什么时候需要拆分微服务1. 创业型项目2. 大型项目 二、怎么拆1. 拆分目标2. 拆分方式 三、微服务之间远程调用1. 实现方式2. 手动发送Http请求(RestTemplate)3. 服务注册中心3.1 原理3.2 Nacos注册中心3.3 服务注册3.4 服务发现(Discov…

ExcelVBA在选择区域(有合并)中删除清除空行

【问题】 关于删除空行,以前是用函数来完成工作的, 今天有人提出问题,传来这个文件, 现有数据,1w多行,其中有部分列有不同合并单元格,跨行也不一样。如果要进行筛选删除空行,有一定的…

从 Oracle 到 TiDB,国有大行打造本地生活 APP 新体验

导读 本文介绍了某国有大行推出的本地生活服务类 APP 在数字时代的创新应用实践。该 APP 利用金融科技和互联网平台模式,打造“金融非金融”的线上生态服务平台,满足了用户多样化的生活需求。为应对用户增长和数据量增加带来的挑战,该 APP 决…

C语言之指针初阶

目录 前言 一、内存与地址的关系 二、指针变量 三、野指针 四、const 五、传值调用与传址调用 总结 前言 本文主要介绍C语言指针的一些基础知识,为后面深入理解指针打下基础,因此本文内容主要包括内存与地址的关系,指针的基本语法&…

高精度原理介绍及代码实现

目录 高精度 引入 使用场景 实现原理 高精度加法 数据存储 加法实现 总代码 高精度减法 与加法的不同点: 总代码 高精度乘法 总代码 高精度除法 总结 总注意点 减法注意点 高精度 引入 所谓高精度并不是很高级难懂的东西,只是对传统的…

使用 CloudFlare 后如何才能不影响搜索引擎蜘蛛爬虫

今天,明月给大家再次详细讲解一下,明月在使用 CloudFlare 后如何才能不影响搜索引擎蜘蛛爬虫对站点的抓取,因为这是很多首次使用 CloudFlare 的站长们容易忽略和触犯的问题,并不是 CloudFlare 不友好,而是 CloudFlare 的防火墙(WAF)实在是太给力。其实在【CloudFlare 如…