网站文章系统/外贸网站建设流程
Docker的常用命令
Docker是一个开源的应用容器引擎,它使得开发者能够打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间没有任何接口(类似于iOS系统上的APP)。今天,我们将一起探讨Docker的一些常用命令。
1. Docker基础命令
docker version
:查看Docker的版本信息。docker info
:查看Docker的系统信息,包括容器和镜像的数量等。docker --help
:查看Docker的帮助文档。
2. 镜像相关命令
docker images
:列出本地所有的镜像。docker search <镜像名>
:在Docker Hub中搜索镜像。docker pull <镜像名>:<标签>
:从Docker Hub中拉取镜像。如果不写标签,默认拉取最新版本。docker rmi <镜像ID>
:删除指定的镜像。
3. 容器相关命令
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
:创建并启动一个容器。这是最常用的Docker命令。docker ps
:查看正在运行的容器。加上-a
参数可以查看所有容器(包括停止的)。docker stop <容器ID>
:停止正在运行的容器。docker start <容器ID>
:启动已停止的容器。docker restart <容器ID>
:重启容器。docker rm <容器ID>
:删除容器。注意,只能删除已停止的容器。如果要删除正在运行的容器,需要先停止它。docker exec -it <容器ID> /bin/bash
:进入正在运行的容器。
4. 其他常用命令
docker logs <容器ID>
:查看容器的日志信息。docker cp <容器ID>:/文件路径 /宿主机路径
:从容器中拷贝文件到宿主机。docker commit <容器ID> <新镜像名>:<标签>
:从容器创建一个新的镜像。这在你对容器进行了修改,并希望保存这些修改为一个新的镜像时非常有用。
当然,让我们继续深入探讨Docker的更多常用命令和高级功能。
5. Docker网络相关命令
docker network ls
:列出所有Docker网络。docker network create <网络名>
:创建一个新的Docker网络。docker network rm <网络名>
:删除一个Docker网络。注意,只能删除没有容器连接的网络。docker network connect <网络名> <容器名>
:将容器连接到网络。docker network disconnect <网络名> <容器名>
:将容器从网络中断开。
6. Docker数据卷相关命令
docker volume ls
:列出所有Docker数据卷。docker volume create <卷名>
:创建一个新的Docker数据卷。docker volume rm <卷名>
:删除一个Docker数据卷。docker volume inspect <卷名>
:查看Docker数据卷的详细信息。
7. Docker Compose相关命令
Docker Compose是一个用于定义和运行多容器Docker应用程序的工具。通过Compose,你可以使用YML文件来配置应用程序需要的所有服务。然后,使用一个命令,就可以从YML文件配置中创建并启动所有服务。
docker-compose up
:创建并启动所有服务。加上-d
参数可以在后台运行。docker-compose down
:停止并删除所有服务。加上--volumes
参数还可以删除关联的数据卷。docker-compose ps
:查看正在运行的服务。docker-compose logs
:查看服务的日志信息。docker-compose exec <服务名> <命令>
:在服务中执行命令。
8. Docker Swarm相关命令
Docker Swarm是一个容器编排工具,它允许用户轻松地在集群上部署、扩展和管理容器。Swarm提供了高可用性和容错性,可以确保你的应用程序始终在线。
docker swarm init
:初始化一个新的Swarm集群。docker swarm join
:将节点加入到Swarm集群。docker swarm leave
:将节点从Swarm集群中移除。docker node ls
:列出Swarm集群中的所有节点。docker service create
:在Swarm集群上创建一个新的服务。docker service ls
:列出Swarm集群中的所有服务。docker service scale <服务名>=<副本数>
:扩展或缩减服务的副本数。docker service rm <服务名>
:删除一个服务。
8.示例
当然,以下是一些Docker常用命令的示例:
1. 拉取镜像
拉取一个名为nginx
的镜像,标签为latest
:
docker pull nginx:latest
2. 列出本地镜像
查看本地存储的所有镜像:
docker images
3. 创建并启动容器
使用nginx:latest
镜像创建一个名为my_nginx
的容器,并在后台运行:
docker run --name my_nginx -d nginx:latest
将容器的80端口映射到主机的8080端口,并创建容器:
docker run --name my_nginx -p 8080:80 -d nginx:latest
4. 查看正在运行的容器
查看当前正在运行的容器:
docker ps
查看所有容器(包括已停止的):
docker ps -a
5. 停止和启动容器
停止名为my_nginx
的容器:
docker stop my_nginx
启动已被停止的名为my_nginx
的容器:
docker start my_nginx
6. 删除容器
删除已停止的名为my_nginx
的容器:
docker rm my_nginx
强制删除正在运行的名为my_nginx
的容器:
docker rm -f my_nginx
7. 进入容器
进入正在运行的名为my_nginx
的容器,并执行/bin/bash
命令:
docker exec -it my_nginx /bin/bash
8. 查看容器日志
查看名为my_nginx
的容器的日志信息:
docker logs my_nginx
以上就是一些Docker常用命令的示例,希望对你有所帮助!在实际使用中,你可以根据需要进行组合和调整。
当然,我们可以继续探讨更多Docker命令的示例。
9. 创建自定义镜像
假设你已经在容器中做了一些修改,并希望将这些修改保存为一个新的镜像。首先,你需要找到容器的ID或名称:
docker ps -a
假设容器的ID是abcd1234
,你可以使用commit
命令创建一个新的镜像:
docker commit abcd1234 my_custom_nginx:v1
这将会创建一个新的镜像,名称为my_custom_nginx
,标签为v1
。
10. 导出和导入容器
如果你想将一个容器导出为tar文件,可以使用export
命令:
docker export abcd1234 > my_container.tar
之后,你可以将这个tar文件导入到其他Docker环境中,创建一个新的镜像:
cat my_container.tar | docker import - my_imported_container:v1
注意:通常更推荐使用docker commit
来创建镜像,因为export/import
不会保留容器的历史记录和元数据。
11. 保存和加载镜像
如果你想保存一个镜像(包括其所有层和元数据)为tar文件,可以使用save
命令:
docker save -o nginx_image.tar nginx:latest
之后,你可以加载这个tar文件到其他Docker环境中:
docker load -i nginx_image.tar
12. 构建镜像
使用build
命令和Dockerfile来构建一个新的镜像:
docker build -t my_app:v1 .
这里的.
表示Dockerfile位于当前目录中。-t
参数用于指定新镜像的名称和标签。
13. 查看容器资源使用情况
查看容器的CPU、内存、网络等资源使用情况:
docker stats my_nginx
14. 清理Docker系统
删除所有停止的容器:
docker container prune
删除所有未使用的镜像(不包括正在运行的容器所使用的镜像):
docker image prune
删除所有未使用的网络和数据卷:
docker system prune -a
注意:使用docker system prune -a
命令时要小心,因为它会删除所有未使用的资源,包括未连接的网络和未使用的数据卷。如果你想保留这些数据,请不要使用-a
选项。
这些示例应该涵盖了Docker的大部分常用命令。当然,Docker的功能非常丰富,还有更多高级用法和选项等待你去探索。
相关文章:

Docker的常用命令
Docker的常用命令 Docker是一个开源的应用容器引擎,它使得开发者能够打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间没有任何接口ÿ…...

JSON简介与基本使用
JSON简介与基本使用 引言 在现今的互联网开发中,数据交换格式的选择至关重要。其中,JSON(JavaScript Object Notation)作为一种轻量级的数据交换格式,因其简洁、易读和易写的特性而备受青睐。本文将简要介绍JSON的基…...

好物周刊#40:多功能文件管理器
https://github.com/cunyu1943/JavaPark https://yuque.com/cunyu1943 村雨遥的好物周刊,记录每周看到的有价值的信息,主要针对计算机领域,每周五发布。 一、项目 1. 中国节假日补班日历 中国节假日、调休、补班日历,ICS 格式…...

【洛谷 P8780】[蓝桥杯 2022 省 B] 刷题统计 题解(贪心算法+模拟+四则运算)
[蓝桥杯 2022 省 B] 刷题统计 题目描述 小明决定从下周一开始努力刷题准备蓝桥杯竞赛。他计划周一至周五每天做 a a a 道题目,周六和周日每天做 b b b 道题目。请你帮小明计算,按照计划他将在第几天实现做题数大于等于 n n n 题? 输入格式 输入一…...

【蓝桥杯入门记录】静态数码管例程
目录 一、补充 (code) 二、例程 (1)例程1:数码管显示某一位(某一杠)。以点亮8段数码管最上面的横杠为例。 (2)例程2:数码管的8个段依次点亮(其他…...

6.openEuler系统服务的配置和管理(二)
openEuler OECA认证辅导,标红的文字为学习重点和考点。 如果需要做实验,建议安装麒麟信安、银河麒麟、统信等具有图形化的操作系统,其安装与openeuler基本一致。 3.任务管理 任务的概念和相关术语: 当你在终端或控制台工作时,可能不希望由于运行一个作业而占住了屏幕,因…...

一招鲜吃遍天!ChatGPT高级咒语揭秘:记忆、洗稿、速写SEO文章(一)
🌟 摘要 🌟 这个专栏系列的初衷是针对特定痛点精心设计GPT提示词,在这篇文章中,我们深入探讨了利用GPT技术解决三个常见挑战:增强记忆力、内容创新、以及SEO文章速写的高级技巧。这些挑战分别对应三个独特的解决策略,我们将逐一详细解析。 首先,解决记忆增强的挑战,我…...

LeetCode 每日一题 2024/2/19-2024/2/25
记录了初步解题思路 以及本地实现代码;并不一定为最优 也希望大家能一起探讨 一起进步 目录 2/19 590. N 叉树的后序遍历2/20 105. 从前序与中序遍历序列构造二叉树2/21 106. 从中序与后序遍历序列构造二叉树2/22 889. 根据前序和后序遍历构造二叉树2/23 2583. 二叉…...

Javaweb之SpringBootWeb案例之配置优先级的详细解析
1. 配置优先级 在我们前面的课程当中,我们已经讲解了SpringBoot项目当中支持的三类配置文件: application.properties application.yml application.yaml 在SpringBoot项目当中,我们要想配置一个属性,可以通过这三种方式当中…...

GO框架基础 (三)、xorm库
xorm介绍 官网:https://xorm.io/ git文档:https://github.com/go-xorm/xorm xorm 是一个 Go 语言的 ORM(对象关系映射)库,它提供了一种简单、高效的方式来将 Go 语言中的结构体与数据库表进行映射,并提供了…...

神经网络系列---回归问题和分类问题
文章目录 回归问题和分类问题回归问题:分类问题:多分类问题:排序问题:自定义损失函数: 回归问题和分类问题 回归问题: 回归问题是一种预测连续数值输出的任务。在这种问题中,模型的目标是根据…...

Jetpack Compose 与 Kotlin 的兼容性对应关系
点击查看:Jetpack Compose 教程 点击查看:Jetpack Compose Kotlin 的兼容性 官网 声明依赖项 如需添加 Compose Compiler 的依赖项,您必须将 Google Maven 代码库添加到项目中。如需了解详情,请参阅 Google 的 Maven 代码库。 …...

汇编反外挂
在软件保护领域,尤其是游戏保护中,反外挂是一个重要的议题。外挂通常指的是一种第三方软件,它可以修改游戏数据、操作游戏内存或提供其他作弊功能,从而给玩家带来不公平的优势。为了打击外挂,游戏开发者会采取一系列措…...

134 Linux 系统编程11 ,readlink命令,文件目录rwx权限差异,目录操作函数
一 readlink 命令 前面知道,如果a.soft是一个软链接,我们使用 cat a.soft,会直接查看这个软链接指向的文件 那么我们就是想看这个软链接是啥,可以使用 readlink a.soft 二 获取工作目录 getcwd函数 获取进程当前工作目录 (卷3,标…...

仿12306校招项目业务二(列车检索)
目录 验证数据 加载城市数据 查询列车站点信息 查询列车余票信息 构建列车返回数据 12306 项目中列车数据检索接口路径  TicketController的pageListTicketQuery。 GetMapping("/api/ticket-service/ticket/query")public Result<T…...

前端架构: 实现脚手架终端UI样式之ANSI escape code, Chalk, Ora介绍
在脚手架当中实现命令行的UI显示 1 )概述 在命令行中,如果想实现除传统的常规文本以外的内容比如想对字体进行加粗斜体下划线,包括对它改变颜色改变前景色改变后景色等等需要借助一个叫做 ANSI escape code 这样的一个概念它其实是一个标准&…...

platform(驱动层+应用层)实现终端和中断开关点灯
设备树文件添加 myplatform{compatible"hqyj,myplatform";interrupt-parent<&gpiof>;interrupts<8 0>,<7 0>,<9 0>;led1-gpio<&gpioe 10 0>;led2-gpio<&gpiof 10 0>;led3-gpio<&gpioe 8 0>;reg<0x123…...

黑马JavaWeb开发跟学(一)Web前端开发HTML、CSS基础
黑马JavaWeb开发一.Web前端开发HTML、CSS基础 引子、Web开发介绍传统路线本课程全新路线本课程适用人群课程收获一、什么是web开发二、网站的工作流程三、网站的开发模式四、网站的开发技术 前端开发基础一、前端开发二、HTML & CSS2.1 HTML快速入门2.1.1 操作第一步第二步…...

Nest.js权限管理系统开发(四)Swagger API接入
什么是swagger Swagger 是一个规范和完整的框架,用于生成、描述、调用和可视化 RESTful 风格的 Web 服务(<https://swagger.io/>)。 它的主要作用是: 1. 使得前后端分离开发更加方便,有利于团队协作 2. 接口的文档在线自动生成…...

(全注解开发)学习Spring-MVC的第三天
全注解开发 第一部分 : 1.1 消除spring-mvc.xml 这些是原来spring-mvc.xml配置文件的内容 <!--1、组件扫描, 使Controller可以被扫描到--><context:component-scan base-package"com.itheima.controller"/><!--2、非自定义的Bean, 文件上传解析器--&…...

设计模式学习笔记 - 面向对象 - 7.为什么要多用组合少用继承?如何决定该用组合还是继承?
前言 在面向对象编程中,有一条非常经典的设计原则:组合优于继承,多用组合少用继承。 为什么不推荐使用继承? 组合比继承有哪些优势? 如何判断该用组合还是继承? 为什么不推荐使用继承? 继承…...

RocketMQ生产环境常见问题分析与总结
RocketMQ生产环境常见问题分析与总结 如何保证消息不丢失 消息丢失场景 对于跨网络的节点可能会丢消息,因为MQ存盘都会先写入OS的PageCache中,然后再让OS进行异步刷盘,如果缓存中的数据未及时写入硬盘就会导致消息丢失 生产端到Broker端Brok…...

前端打包工具的发展历程、思路(grunt,gulp,webpack,vite)
现在前端发展真快,需要学的东西太多了,下面总结下前端打包的发展过程,便于区分和选择学习。 什么是前端打包 前端打包是指将多个JavaScript文件、CSS文件、图片等资源进行合并和优化处理,并输出为一个或多个文件的过程。这样做的目的是减少…...

利用Python将文件夹下多个txt文本写入到同一个excel中(每一个文件占一行)
1、 将文件夹下多个txt文本写入到同一个excel中(每一个文件占一行): # -*- coding: utf-8 -*- import os import pandas as pd# 获取文件夹中的所有txt文件 folder_path rG:\Cygwin\ txt_files [f for f in os.listdir(folder_path) if f.endswith(.t…...

通过Colab部署Google最新发布的Gemma模型
Gemma的简单介绍 Gemma 是一系列轻量级、最先进的开放式模型,采用与创建 Gemini 模型相同的研究和技术而构建。 Gemma 由 Google DeepMind 和 Google 的其他团队开发,其灵感来自 Gemini,其名称反映了拉丁语 gemma,意思是“宝石”…...

spring中@validate注解使用
在 Java 中,我们可以使用注解和 validate 实现对实体类中字段的校验。其中,注解用来定义字段的约束条件,而 validate 则用来进行实际的校验操作。 常用的校验注解包括 NotNull、NotEmpty、Size、Min、Max 等,它们可以帮助我们规定…...

停车场管理(C语言)
【题目描述】停车场管理。设有一个可以停放n辆汽车的狭长停车场,它只有一个大门可以供车辆进出。车辆按到达停车场时间的先后次序依次从停车场最里面向大门口处停放 (即最先到达的第一辆车停放在停车场的最里面) 。如果停车场已放满n辆车,则以后到达的车…...

探索无限:Sora与AI视频模型的技术革命 - 开创未来视觉艺术的新篇章
✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua,在这里我会分享我的知识和经验。&#x…...

375FPS! 谷歌提出MaskConver“重校正用于全景分割的纯卷积模型
https://arxiv.org/2312.06052 近年来,基于Transformer的模型由于其强大的建模能力以及对语义类和实例类的统一表示为全局二值掩码,在全景分割中占据主导地位。 在本文中,我们回顾了纯粹的卷积模型,并提出了一种新的结构MaskConve…...

leetcode初级算法(python)- 数组
文章目录 1.从排序数组中删除重复项2.买卖股票最佳时机23.旋转数组运行颠倒列表法整体移动元素块法4.存在重复运行包含判断法排序比较判断法运行集合判断法5.只出现一次的数字6.两个数组的交集27.移动零8.两数之和9.旋转图像这篇博客中的代码都是数组计算。 1.从排序数组中删除…...