当前位置: 首页 > news >正文

【Docker晋升记】No.2 --- Docker工具安装使用、命令行选项及构建、共享和运行容器化应用程序

文章目录

  • 前言
  • 🌟一、Docker工具安装
  • 🌟二、Docker命令行选项
    • 🌏2.1.docker run命令选项:
    • 🌏2.2.docker build命令选项:
    • 🌏2.3.docker images命令选项:
    • 🌏2.4.docker ps命令选项:
    • 🌏2.5.docker exec命令选项:
    • 🌏2.6.docker logs命令选项:
  • 🌟三、Docker在构建、共享和运行容器化应用程序时的主要步骤
  • 总结


前言

在这里插入图片描述

👧个人主页:@小沈YO.
😚小编介绍:欢迎来到我的乱七八糟小星球🌝
🔑本章内容:Docker工具安装使用、命令行选项及构建、共享和运行容器化应用程序时的主要步骤
记得 评论📝 +点赞👍 +收藏😽 +关注💞哦~


提示:以下是本篇文章正文内容,下面案例可供参考

🌟一、Docker工具安装

以下是在常见操作系统上安装Docker的基本步骤:

1. 在 Linux 上安装 Docker:
  1. 在 Linux 上安装 Docker:
  • 对于 Ubuntu,请运行以下命令:
sudo apt-get update
sudo apt-get install docker.io
  • 对于 CentOS,请运行以下命令:
sudo yum install docker
sudo systemctl start docker
sudo systemctl enable docker
2. 在 Windows 上安装 Docker:
  1. 在 Windows 上安装 Docker:

在 Windows 10 上,可以通过 Docker Desktop 来安装 Docker。您可以从 Docker 官方网站上下载 Docker Desktop 安装程序。

安装程序将引导您完成安装过程。安装完成后,您将获得一个名为 Docker Desktop 的应用程序,可以在其中管理和运行 Docker 容器。

3. 在 macOS 上安装 Docker:
  1. 在 macOS 上安装 Docker:

在 macOS 上,同样可以通过 Docker Desktop 来安装 Docker。也可以从 Docker 官方网站上下载 Docker Desktop 安装程序。

下载并运行安装程序,将 Docker Desktop 拖放到 “Applications” 文件夹中。然后打开 Docker Desktop 应用程序,它将在菜单栏中显示一个 Docker 图标,并在启动时安装和启动 Docker。

完成安装后,您可以在命令行终端或 Docker Desktop 应用程序中使用 Docker 命令来管理和运行 Docker 容器。请注意,某些操作可能需要使用管理员权限或加上 sudo 前缀(在 Linux 上)。

安装 Docker 后,您可能还需要配置 Docker 的一些额外设置,例如使用镜像加速器、配置网络设置等。这些设置可以通过编辑 Docker 配置文件或使用 Docker 命令行选项来完成。

🌟二、Docker命令行选项

Docker提供了丰富的命令行选项,用于管理和操作Docker容器和镜像。以下是一些常见的Docker命令行选项:

🌏2.1.docker run命令选项:

1. docker run命令选项:
  • docker run命令选项:
命令行功能
-d将容器在后台运行(以守护进程方式)
-it创建一个交互式的终端会话
-p指定容器与主机之间的端口映射
–name为容器指定一个自定义名称
-v挂载主机上的目录到容器中
–rm在容器退出后自动删除容器
-e设置容器的环境变量

🌏2.2.docker build命令选项:

2. docker build命令选项:
  • docker build命令选项:
命令行功能
-t为构建的镜像指定一个标签
-f指定使用的Dockerfile路径
–no-cache禁用缓存,强制重新构建镜像
–build-arg设置构建过程中的参数

🌏2.3.docker images命令选项:

3. docker images命令选项:
  • docker images命令选项:
命令行功能
-a显示所有镜像,包括中间层镜像
–filter根据条件过滤镜像
–no-trunc显示完整的镜像ID

🌏2.4.docker ps命令选项:

4. docker ps命令选项:
  • docker ps命令选项:
命令行功能
-a显示所有容器,包括已停止的容器
-q仅显示容器ID
–filter根据条件过滤容器

🌏2.5.docker exec命令选项:

5. docker exec命令选项:
  • docker exec命令选项:
命令行功能
-it创建一个交互式的终端会话
-d在后台运行命令
-u指定执行命令的用户

🌏2.6.docker logs命令选项:

6. docker logs命令选项:
  • docker logs命令选项:
命令行功能
-f实时跟踪容器的日志输出
–tail仅显示最后几行的日志
–since仅显示指定时间之后的日志
补充:可以使用docker --help或docker --help命令来获取更详细的命令选项列表和说明

🌟三、Docker在构建、共享和运行容器化应用程序时的主要步骤

Docker是一种开源的容器化平台,可以使用它来构建、共享和运行容器化的应用程序。以下是Docker在构建、共享和运行容器化应用程序时的主要步骤:

  • 编写Dockerfile: Dockerfile是一个文本文件,用于定义Docker镜像的构建步骤。您可以在Dockerfile中指定应用程序所需的基础镜像、安装依赖项、设置环境变量、配置容器等。通过运行docker build命令并指定Dockerfile的路径,可以构建自定义的Docker镜像。
  • 构建Docker镜像: 使用Dockerfile构建Docker镜像,在执行该命令时,Docker将按照Dockerfile中定义的步骤逐步构建镜像。在构建过程中,Docker会下载所需的基础镜像,并根据您的指示执行各种命令和操作,以生成最终的容器镜像。
  • 推送和共享镜像: 一旦您构建了Docker镜像,您可以将其推送到Docker仓库中,以便其他人共享和使用。Docker Hub是最常用的公共Docker仓库,您可以在此注册一个帐户,并使用docker push命令将镜像推送到Docker Hub上。
  • 拉取和运行镜像: 其他人可以从Docker仓库中拉取您共享的镜像,并在他们的本地环境中运行它。他们可以使用docker pull命令从仓库中拉取镜像,然后使用docker run命令来创建和运行容器。
  • 管理和监控容器: Docker还提供了一系列命令和工具,用于管理和监控容器的运行。您可以使用docker ps命令查看正在运行的容器,使用docker logs命令查看容器的日志输出,使用docker stop命令停止容器的运行,以及使用其他命令和工具来管理容器的网络、存储等方面。

Docker的容器化技术使应用程序的部署和交付更加简单和可靠。通过将应用程序及其依赖项打包到一个独立的容器中,可以消除环境差异性问题,并提供可重复和可移植的部署方式。此外,容器还具有轻量、快速启动和停止等特点,使应用程序的开发、测试和扩展变得更加高效。


总结

总之,使用Docker构建、共享和运行容器化的应用程序可以提供更加可靠、高效和便捷的开发和部署体验,使开发人员可以更专注于应用程序的开发和功能实现。

相关文章:

【Docker晋升记】No.2 --- Docker工具安装使用、命令行选项及构建、共享和运行容器化应用程序

文章目录 前言🌟一、Docker工具安装🌟二、Docker命令行选项🌏2.1.docker run命令选项:🌏2.2.docker build命令选项:🌏2.3.docker images命令选项:🌏2.4.docker ps命令选项…...

[OnWork.Tools]系列 00-目录

OnWork.Tools系列文章目录 OnWork.Tools系列 01-简介_末叶的博客-CSDN博客OnWork.Tools系列 02-安装_末叶的博客-CSDN博客OnWork.Tools系列 03-软件设置_末叶的博客-CSDN博客OnWork.Tools系列 04-快捷启动_末叶的博客-CSDN博客OnWork.Tools系列 05-系统工具_末叶的博客-CSDN博…...

Cadvisor+InfluxDB+Grafan+Prometheus(详解)

目录 一、CadvisorInfluxDBGrafan案例概述 (一)Cadvisor Cadvisor 产品特点: (二)InfluxDB InfluxDB应用场景: InfluxDB主要功能: InfluxDB主要特点: (三&#…...

AtcoderABC222场

A - Four DigitsA - Four Digits 题目大意 给定一个整数N,其范围在0到9999之间(包含边界)。在将N转换为四位数的字符串后,输出它。如果N的位数不足四位,则在前面添加必要数量的零。 思路分析 可以使用输出流的格式设…...

架构实践方法

一、识别复杂度 将主要的复杂度问题列出来,然后根据业务、技术、团队等综合情况进行排序,优先解决当前面临的最主要的复杂度问题。对于按照复杂度优先级解决的方式,存在一个普遍的担忧:如果按照优先级来解决复杂度,可…...

点淘的MCN机构申请详细入驻指南!

消费趋势的变化,来自消费人群的变化。 后疫情时代,经济复苏的反弹力度不足,人们开始怀疑我们正从前几年的消费升级,跌入消费降级的时代,但这并不能准确概括消费市场的变化。 仔细翻看各大奢侈品集团的财报&#xff0…...

事务和事务的隔离级别

1.4.事务和事务的隔离级别 1.4.1.为什么需要事务 事务是数据库管理系统(DBMS)执行过程中的一个逻辑单位(不可再进行分割),由一个有限的数据库操作序列构成(多个DML语句,select语句不包含事务&…...

每日一题 34在排序数组中查找元素的第一个和最后一个位置(二分查找)

题目 给你一个按照非递减顺序排列的整数数组 nums,和一个目标值 target。请你找出给定目标值在数组中的开始位置和结束位置。 如果数组中不存在目标值 target,返回 [-1, -1]。 你必须设计并实现时间复杂度为 O(log n) 的算法解决此问题。 示例 1&…...

Spring Boot Admin 环境搭建与基本使用

Spring Boot Admin 环境搭建与基本使用 一、Spring Boot Admin是什么二、提供了那些功能三、 使用Spring Boot Admin3.1搭建Spring Boot Admin服务pom文件yml配置文件启动类启动admin服务效果 3.2 common-apipom文件feignhystrix 3.3服务消费者pom文件yml配置文件启动类control…...

JVM之内存模型

1. Java内存模型 很多人将Java 内存结构与java 内存模型傻傻分不清,java 内存模型是 Java Memory Model(JMM)的意思。 简单的说,JMM 定义了一套在多线程读写共享数据时(成员变量、数组)时,对数据…...

音视频 vs2017配置FFmpeg

vs2017 ffmpeg4.2.1 一、首先我把FFmpeg整理了一下&#xff0c;放在C盘 二、新建空项目 三、添加main.cpp&#xff0c;将bin文件夹下dll文件拷贝到cpp目录下 #include<stdio.h> #include<iostream>extern "C" { #include "libavcodec/avcodec.h&…...

【项目管理】PMP备考宝典-第二章《环境》

第一节&#xff1a;概述 1.项目所处的组织环境 &#xff08;1&#xff09;事业环境因素&#xff08;EEFs&#xff09; 组织内部的事业环境因素&#xff1a; 企业都会有愿景、使命、价值观&#xff0c;这些决定了企业的发展方向。不忘初心&#xff0c;坚定地走自己的路&#…...

ELK 将数据流转换回常规索引

ELK 将数据流转换回常规索引 现象&#xff1a;创建索引模板是打开了数据流&#xff0c;导致不能创建常规索引&#xff0c;并且手动修改、删除索引模板失败 "reason" : "composable template [logs_template] with index patterns [new-pattern*], priority [2…...

jackson库收发json格式数据和ajax发送json格式的数据

一、jackson库收发json格式数据 jackson库是maven仓库中用来实现组织json数据功能的库。 json格式  json格式一个组织数据的字符文本格式&#xff0c;它用键值对的方式存贮数据&#xff0c;json数据都是有一对对键值对组成的&#xff0c;键只能是字符串&#xff0c;用双引号包…...

ubuntu安装和卸载CLion

安装 在https://www.jetbrains.com/clion/download/#sectionlinux下载相应版本的安装包&#xff0c;解压之后&#xff0c;找到解压文件夹中的bin文件夹运行./clion.sh 卸载 使用sudo rm -rf删除以下内容&#xff1b;并把刚刚解压的文件删掉 ~/.config/JetBrains ~/.local/s…...

Petrel解释二维浅地层数据

Petrel是斯伦贝谢开发的一款地质解释和建模软件&#xff0c;有点像地理信息系统的ArcGIS&#xff0c;主要用于数据分析和展示。它不是用来处理原始数据的&#xff0c;而是集成各种处理后的结果数据进行特征分析和目标拾取。当然&#xff0c;它也能读取原始数据&#xff0c;比如…...

分布式任务调度平台XXL-JOB使用

说明&#xff1a;分布式任务调度平台XXL-JOB&#xff0c;其核心设计目标是开发迅速、学习简单、轻量级、易扩展。现已开放源代码并接入多家公司线上产品线&#xff0c;开箱即用&#xff08;官方语&#xff09;。 本文介绍使用XXL-JOB实现定时执行代码&#xff0c;可用于项目中…...

自考本科汉语言文学专业真的太难了吗

自考本科汉语言文学专业的难度和就业前景都需要综合考虑。目前&#xff0c;自考汉语言文学专业通过率是比较高的&#xff0c;与其他专业比较&#xff0c;难度会低一些&#xff0c;主要考验考生的记忆能力。 自学考试汉语言文学难度怎么样 本科自学考试汉语言文学难度还是比较简…...

STM32CubeMX之freeRTOS信号量

队列可以传输数据&#xff0c;任务之间和任务和中断之间&#xff0c;消息队列用来传数据&#xff0c;占用时间也长 但哦我们有时候只需要传递状态&#xff0c;只需要一个数值表示 如果我们屏幕按固定刷新&#xff0c;就会很消耗资源&#xff0c;如果我们数据变化了&#xff0…...

react-spring,一个react的动画库的使用

介绍 React Spring 是一个 spring physics based animation library 用于 React。它可以轻松地在 React 中实现弹性、渐变等动画效果。 使用 安装依赖&#xff1a; 使用npm&#xff1a; npm install react-spring 使用yarn&#xff1a; yarn add react-spring 导入和使用&a…...

第19节 Node.js Express 框架

Express 是一个为Node.js设计的web开发框架&#xff0c;它基于nodejs平台。 Express 简介 Express是一个简洁而灵活的node.js Web应用框架, 提供了一系列强大特性帮助你创建各种Web应用&#xff0c;和丰富的HTTP工具。 使用Express可以快速地搭建一个完整功能的网站。 Expre…...

eNSP-Cloud(实现本地电脑与eNSP内设备之间通信)

说明&#xff1a; 想象一下&#xff0c;你正在用eNSP搭建一个虚拟的网络世界&#xff0c;里面有虚拟的路由器、交换机、电脑&#xff08;PC&#xff09;等等。这些设备都在你的电脑里面“运行”&#xff0c;它们之间可以互相通信&#xff0c;就像一个封闭的小王国。 但是&#…...

多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度​

一、引言&#xff1a;多云环境的技术复杂性本质​​ 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时&#xff0c;​​基础设施的技术债呈现指数级积累​​。网络连接、身份认证、成本管理这三大核心挑战相互嵌套&#xff1a;跨云网络构建数据…...

前端导出带有合并单元格的列表

// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...

深入理解JavaScript设计模式之单例模式

目录 什么是单例模式为什么需要单例模式常见应用场景包括 单例模式实现透明单例模式实现不透明单例模式用代理实现单例模式javaScript中的单例模式使用命名空间使用闭包封装私有变量 惰性单例通用的惰性单例 结语 什么是单例模式 单例模式&#xff08;Singleton Pattern&#…...

2.Vue编写一个app

1.src中重要的组成 1.1main.ts // 引入createApp用于创建应用 import { createApp } from "vue"; // 引用App根组件 import App from ./App.vue;createApp(App).mount(#app)1.2 App.vue 其中要写三种标签 <template> <!--html--> </template>…...

Java - Mysql数据类型对应

Mysql数据类型java数据类型备注整型INT/INTEGERint / java.lang.Integer–BIGINTlong/java.lang.Long–––浮点型FLOATfloat/java.lang.FloatDOUBLEdouble/java.lang.Double–DECIMAL/NUMERICjava.math.BigDecimal字符串型CHARjava.lang.String固定长度字符串VARCHARjava.lang…...

postgresql|数据库|只读用户的创建和删除(备忘)

CREATE USER read_only WITH PASSWORD 密码 -- 连接到xxx数据库 \c xxx -- 授予对xxx数据库的只读权限 GRANT CONNECT ON DATABASE xxx TO read_only; GRANT USAGE ON SCHEMA public TO read_only; GRANT SELECT ON ALL TABLES IN SCHEMA public TO read_only; GRANT EXECUTE O…...

C# 表达式和运算符(求值顺序)

求值顺序 表达式可以由许多嵌套的子表达式构成。子表达式的求值顺序可以使表达式的最终值发生 变化。 例如&#xff0c;已知表达式3*52&#xff0c;依照子表达式的求值顺序&#xff0c;有两种可能的结果&#xff0c;如图9-3所示。 如果乘法先执行&#xff0c;结果是17。如果5…...

MySQL:分区的基本使用

目录 一、什么是分区二、有什么作用三、分类四、创建分区五、删除分区 一、什么是分区 MySQL 分区&#xff08;Partitioning&#xff09;是一种将单张表的数据逻辑上拆分成多个物理部分的技术。这些物理部分&#xff08;分区&#xff09;可以独立存储、管理和优化&#xff0c;…...