Docker-命令

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 前言
  • 一、Docker架构
  • 二、Docker进程相关命令
    • (一)启动 docker 服务
    • (二)重启 docker 服务
    • (三)停止 docker 服务
    • (四)查看 docker 服务状态
    • (五)设置开机启动 docker 服务
  • 三、Docker 镜像相关命令
    • (一)查看镜像
    • (二)搜索镜像
    • (三)拉取镜像
    • (四)删除镜像
    • (五)保存镜像
    • (六)加载镜像
  • 四、Docker 容器相关命令
    • (一)查看容器
    • (二)查看容器日志
    • (三)启动容器
    • (四)停止容器
    • (五)删除容器
    • (六)进入容器内部
    • (七)退出容器内部
  • 五、Docker-Compose命令
    • (一)启动服务
    • (二)停止服务
    • (三)构建服务
    • (四)查看服务日志
    • (五)查看正在运行的服务
    • (六)删除所有服务容器
  • 总结


前言

提示:详细内容查看黑马程序员教程:

• Docker 是一个开源的应用容器引擎
• 诞生于 2013 年初,基于 Go 语言实现, dotCloud 公司出品(后改名为Docker Inc)
• Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的Linux 机器上。
• 容器是完全使用沙箱机制,相互隔离
• 容器性能开销极低。
• Docker 从 17.03 版本之后分为 CE(Community Edition: 社区版) 和 EE(Enterprise Edition: 企业版)


提示:重点理解docker架构。特别是镜像、容器概念

一、Docker架构

镜像(Image):Docker镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统

容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和对象一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等

仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像

在这里插入图片描述

二、Docker进程相关命令

(一)启动 docker 服务

systemctl start docker

(二)重启 docker 服务

systemctl restart docker

(三)停止 docker 服务

systemctl stop docker

(四)查看 docker 服务状态

systemctl status docker

(五)设置开机启动 docker 服务

systemctl enable docker

三、Docker 镜像相关命令

(一)查看镜像

查看本地所有镜像

docker images
docker images -q #查看所有镜像的id

各个选项说明:
REPOSITORY: 表示镜像的仓库源
TAG : 镜像的标签
IMAGE ID : 镜像ID
CREATED : 镜像创建时间
SIZE : 镜像大小

(二)搜索镜像

从网络中查找需要的镜像

docker search 镜像名称

例如:查询mysql 镜像

docker search mysql

(三)拉取镜像

docker pull 镜像名称
docker pull mysql #拉取mysql镜像,没指定版本号,默认最新版本镜像

(四)删除镜像

删除本地镜像

docker rmi 镜像id
docker rmi -f 镜像名/镜像ID#批量删除镜像
docker rmi $(docker images -aq)
docker rmi 'docker images -aq'

(五)保存镜像

在/root 目录下有个test文件,将mysql的镜像文件打包成tar包保存

docker save -o [保存路径/镜像文件名].tar [镜像名]:[标签]

在/root 目录下有个test文件,将mysql的镜像文件打包成tar包保存

docker save -o /root/test/mysql.tar mysql:latest

(六)加载镜像

docker load -i [镜像文件名].tar

将上述的mysql.tar镜像文件包,加载成镜像

docker load -i mysql.tar

四、Docker 容器相关命令

(一)查看容器

1、查看正在运行的容器

docker ps 

2、查看所有的容器
正在运行的容器和已停止运行的容器

docker ps -a

3、查看最近运行的两个

docker ps -a -n=2

4、查看正在运行的容器的id

docker ps -q

5、查看所有容器的id

docker ps -aq

6、查看容器内部进程

docker top <容器id或名称> bash

7、与容器内部进行交互

docker exec -it <容器id或名称> bash

8、查询最后一次创建的容器

docker ps -l

(二)查看容器日志

1、查看容器运行日志

docker logs <容器id或名称>

2、实时展示容器日志

docker logs -f <容器id或名称>

3、加入时间戳展示日志

docker logs -tf <容器id或名称>

4、查看最后n行日志

docker logs --tail 5 <容器id或名称>

(三)启动容器

1、docker 启动一个容器

docker run -it <镜像名称> /bin/bash
docker run -it ubuntu /bin/bash  #启动ubuntu镜像
参数说明:
-i:交互式操作
-t:终端

2、启动已停止运行的容器

docker start <容器id>

3、重启一个容器

docker restart <容器id>

4、启动容器并将容器挂载后台运行

docker run -itd --name ubuntu-test ubuntu /bin/bash ##启动一个ubuntu容器
参数说明:
-d:默认不会进入容器

5、启动容器映射端口号,后台启动,指定容器名称

docker run -p 8080:8080 --name 容器名称 -d 镜像名称:版本号

(四)停止容器

1、停止

docker stop <容器名称或者容器id>

2、杀死一个容器

docker kill <容器名称或者容器id>

3、停止全部容器

docker stop $(docker ps -a -q)

(五)删除容器

docker rm <容器id或者名称>
docker rm -f <容器id或者名称>
docker rm -f $(docker ps -aq) #删除全部容器

(六)进入容器内部

1、进入容器后,退出容器,容器停止

docker attach <容器id>

2、进入容器后,退出容器,不会导致容器停止

docker exec <容器id>
docker exec <容器id> /bin/bash

(七)退出容器内部

exit

再加上一份图,展示命令使用过程
在这里插入图片描述

五、Docker-Compose命令

(一)启动服务

docker-compose up
启动服务,服务在后台运行
docker-compose up -d

(二)停止服务

docker-compose down

(三)构建服务

docker-compose build

(四)查看服务日志

docker-compose logs# 实时跟踪日志
docker-compose logs -f

(五)查看正在运行的服务

docker-compose ps

(六)删除所有服务容器

docker-compose down --volumes

总结

以上就是我们安装docker后会经常使用的命令,然后就是理解 镜像 、容器和服务三者之间的关系。至于仓库很好理解,就是存放镜像的地址,仓库分为官方公共镜像仓库和私有镜像仓库,私有镜像仓库需要身份认证后才能拉取镜像文件。

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

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

相关文章

尚硅谷MYSQL(12-13章)

第十二章数据类型 比如说tinyint&#xff08;4&#xff09;这个四表示的是那个取值范围的位数 他只是一个显示 比如说int后面应该是int&#xff08;11&#xff09;这是有符号的 无符号int是int&#xff08;10&#xff09; 如果写成int&#xff08;3&#xff09;但是存的数据是…

JS入门学习

JS引入方式 内部引入 内部脚本:将JS代码定义在HTML页面中 JavaScript代码必须位于<script></script>标签之间在HTML文档中&#xff0c;可以在任意地方&#xff0c;放置任意数量的<script>可以放在HTML文件的任意位置&#xff0c;一般会把脚本置于<body…

红酒与节日装饰:打造节日氛围的需备品

随着节日的脚步渐渐临近&#xff0c;节日的氛围也愈发浓厚。在这个特殊的时刻&#xff0c;红酒与节日装饰无疑成为了营造节日氛围的需备品。洒派红酒&#xff08;Bold & Generous&#xff09;作为定制红酒的品牌&#xff0c;其不同的韵味与节日装饰的精致整合&#xff0c;共…

通过域名和HTTPS上线MSF

使用受信任证书的Meterpreter载荷 现在大多数安全解决方案还会通过分析进出目标机器的流量来进行网络入侵检测。在这种情况下&#xff0c;很可能即使使用编码器绕过了防病毒软件&#xff0c;但有效载荷也会在尝试连接到我们的侦听器时被捕获和拦截。 # 准备工作 首先需要准备…

SpringBoot + Hadoop + HDFS + Vue 实现一个简单的文件管理系统

1. 安装前的准备工作 1.1 更新系统并安装必要的工具 在终端中运行以下命令&#xff1a; sudo apt-get update sudo apt-get install -y ssh rsync curl1.2 安装 Java 如果系统中没有安装 Java&#xff0c;可以通过以下命令安装 OpenJDK&#xff1a; sudo apt-get install …

基于ESP32的智能门锁系统测试

项目介绍 基于ESP32的智能门锁系统。可以运用在商务办公、家用住宅、酒店以及公租房短租公寓等领域。基于esp32的智能门锁系统是生物识别技术和嵌入式系统技术的完美结合&#xff0c;基于ESP32系统进行开发&#xff0c;同时在云端服务器搭建了MQTT服务器并连接开源的家庭自动化…

工商业和户用光伏区别及怎样运维

工商业光伏系统和户用光伏系统在设计、安装和运维方面存在一些显著的区别。首先&#xff0c;工商业光伏系统通常安装在工厂、办公楼、商场等大型建筑物的屋顶或空地上&#xff0c;而户用光伏系统则主要安装在居民住宅的屋顶上。工商业光伏系统的规模一般较大&#xff0c;发电量…

Unity | AmplifyShaderEditor插件基础(第二集:模版说明)

目录 一、前言 二、核心模版和URP模版 1.区别介绍 2.自己的模版 三、输出节点 1.界面 2.打开OutPut 3.ShderType 4.ShaderName 5.Shader大块内容 6.修改内容 四、预告 一、前言 内容全部基于以下链接基础以上讲的。 Unity | Shader基础知识&#xff08;什么是shader…

Android 实现动态换行显示的 TextView 列表

在开发 Android 应用程序时&#xff0c;我们经常需要在标题栏中显示多个 TextView&#xff0c;而这些 TextView 的内容长度可能不一致。如果一行内容过长&#xff0c;我们希望它们能自动换行&#xff1b;如果一行占不满屏幕宽度&#xff0c;则保持在一行内。本文将带我们一步步…

仅12%程序员担心被AI取代 62%开发者在使用AI工具

**根据Stack Overflow近日发布的2024年开发者调查报告&#xff0c;只有12%的开发者认为AI威胁到了他们当前的工作&#xff0c;而高达70%的受访者已经将AI工具整合到了自己的工作流程中。**该调查共有超过6.5万名开发者参与&#xff0c;结果显示&#xff0c;使用AI工具的开发者比…

Java知识点一——列表、表格与媒体元素

显示表格边框&#xff1a;<table border"1"></table> 因为初始的表格是没有边框的 collapse相邻的单元格共用同一条边框&#xff08;采用 collapsed-border 表格渲染模型&#xff09;。 separate默认值。每个单元格拥有独立的边框&#xff08;采用 sep…

什么是实时数据仓库? 优势与最佳实践

在当今数据驱动的世界中&#xff0c;许多企业使用实时数据仓库来满足其分析和商业智能 (BI) 需求。这使他们能够做出更好的决策、推动增长并为客户提供价值。 数据仓库是一种数据存储和管理系统&#xff0c;其设计目标只有一个&#xff1a;管理和分析数据&#xff0c;以实现商…

掌握Jenkins自动化部署:从代码提交到自动上线的全流程揭秘

Jenkins自动化部署是现代软件开发中不可或缺的一部分&#xff0c;它不仅简化了代码的发布过程&#xff0c;还为整个团队带来了无与伦比的效率和协作力。想象一下&#xff0c;开发者们可以专注于编写高质量的代码&#xff0c;而不是为繁琐的手动部署所烦恼&#xff1b;测试人员能…

Python进阶之3D图形

Python进阶之3D图形 在数据可视化中&#xff0c;2D图形通常可以满足大多数需求。然而&#xff0c;对于一些复杂的数据或分析&#xff0c;3D图形可以提供更多的视角和洞察。在Python中&#xff0c;使用 Matplotlib 和 Plotly 等库可以轻松创建各种3D图形。本文将介绍如何使用这…

C++_2_ inline内联函数 宏函数(2/3)

C推出了inline关键字&#xff0c;其目的是为了替代C语言中的宏函数。 我们先来回顾宏函数&#xff1a; 宏函数 现有个需求&#xff1a;要求你写一个Add(x,y)的宏函数。 正确的写法有一种&#xff0c;错误的写法倒是五花八门&#xff0c;我们先来“见不贤而自省也。” // …

SpringCloud的能源管理系统-能源管理平台源码

介绍 基于SpringCloud的能源管理系统-能源管理平台源码-能源在线监测平台-双碳平台源码-SpringCloud全家桶-能管管理系统源码 软件架构

提升体验:UI设计的可用性原则

在中国&#xff0c;每年都有数十万设计专业毕业生涌入市场&#xff0c;但只有少数能够进入顶尖企业。尽管如此&#xff0c;所有设计师都怀揣着成长和提升的愿望。在评价产品的用户体验时&#xff0c;我们可能会依赖直觉来决定设计方案&#xff0c;或者在寻找改善产品体验的切入…

【STM32F4】——DMA初始化结构体详解

一.DMA_InitTypeDef 初始化结构体 typedef struct {uint32_t DMA_Channel; //通道选择 uint32_t DMA_PeripheralBaseAddr;//外设地址uint32_t DMA_Memory0BaseAddr; //存储器 0 地址uint32_t DMA_DIR; //传输方向 uint32_t DMA_BufferSize; /…

opencascade Adaptor3d_CurveOnSurface源码学习

opencascade Adaptor3d_CurveOnSurface 前言 用于连接由Geom包中表面上的曲线提供的服务&#xff0c;以及使用这条曲线的算法所要求的服务。该曲线被定义为一个二维曲线&#xff0c;来自Geom2d包&#xff0c;位于表面的参数空间中 方法 1 默认构造函数 Standard_EXPORT Ada…

Windows设置定时任务进行oracle数据库备份

先找到“定时任务计划” 方法1.开始->所有程序->附件->系统工具->定时任务计划 方法2:控制面板->输入计划 进行查询操作 名称随便定&#xff0c;点击下一步 下一步 设置每天的定时执行时间&#xff0c;点下一步 点下一步选择启动程序&#xff0c;点下一步 点…