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

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

实用技巧:在C和cURL中设置代理服务器爬取www.ifeng.com视频

概述: 网络爬虫技术作为一种自动获取互联网数据的方法,在搜索引擎、数据分析、网站监测等领域发挥着重要作用。然而,面对反爬虫机制、网络阻塞、IP封禁等挑战,设置代理服务器成为解决方案之一。代理服务器能够隐藏爬虫的真实IP地…

MySQL JDBC编程

MySQL JDBC编程 文章目录 MySQL JDBC编程1. 数据库编程的必备条件2. Java的数据库编程:JDBC3. JDBC工作原理4. JDBC使用5. JDBC常用接口和类5.1 JDBC API5.2 数据库连接Connection5.3 Statement对象5.4 ResultSet对象 1. 数据库编程的必备条件 编程语言:…

web:[BUUCTF 2018]Online Tool

题目 打开页面显示如下,进行代码审计 上述代码主要功能是接收‘host’参数,后使用nmap扫描主机端口 首先检查是否存在HTTP_X_FORWARDED_FOR头,若存在,将值赋值给EMOTE_ADDR,是为了跟踪用户真实的IP地址 后用检查get‘host’是否…

第十九章,Java绘图

Graphics类 Graphics类是所有图形上下文的抽象基本类,它允许应用程序在组件以及闭屏图像上进行绘制 Graphics类封装了Java支持的基本绘图操作所需的状态信息,主要包括颜色、字体、画笔、文本、图像等 Graphics类提供了常用的绘图方法,利用这些…

Ubuntu 18.04无网络连接的n种可能办法

文章目录 网络图标消失,Ubuntu无网络连接VMware上Ubuntu18.04,桥接了多个网卡,其中一个用来上网,均设置为静态ip网络桥接链路没有接对路由不对 网络图标消失,Ubuntu无网络连接 sudo service network-manager stop sud…

家庭网络中的组网方式

家庭网络中,目前也衍生出了比较多的组网方式,也不是只有Easymesh,我们还是要辩证的去看,没有绝对的好和坏,需求不同,取舍不同。 这里博主简单的介绍几种组网方式,上图也比较直观 1.wds wds是…

系列九、对象的生命周期和GC

一、堆细分 Java堆从GC的角度还可以细分为:新生代(eden【伊甸园区】、from【幸存者0区】、to【幸存者1区】)和老年代。 二、MinorGC的过程 复制>清空》交换 1、eden、from区中的对象复制到to区,年龄1 首先,当eden区…

日本水稻(Oryza sativa Japonica rice)的基因组染色质长度 IRGSP-1.0

创作日志: 在看scHi-C综述的时候发现了一个在2021年发布在Nature Plants上的数据集,想拿来用,首先就要知道其对应的水稻品种以及染色质长度。最终在UCSC上找到了对应的组装好的基因组,版本名为 IRGSP-1.0。 UCSC链接:h…

如何让普通用户使用sudo?

一、sudo的作用 sudo就是可以让我们的普通用户以root身份去做一些事情,这相当于给普通用户提升了权限,但是并不是每个普通用户都可以随便拿到root的提权的,也就是sudo是要经过一定处理才可以给普通用户使用,那么如何处理呢&#x…

pytorch.nn.Conv1d详解

通读了从论文中找的代码,终于找到这个痛点了! 以下详解nn.Conv1d方法 1 参数说明 in_channels(int) – 输入信号的通道。 out_channels(int) – 卷积产生的通道。 kernel_size(int or tuple) - 卷积核的尺寸,经测试后卷积核的大小应为in_cha…

OpenCV图像纹理

LBP描述 LBP(Local Binary Pattern,局部二值模式)是一种用来描述图像局部纹理特征的算子;它具有旋转不变性和灰度不变性等显著的优点。它是首先由T. Ojala, M.Pietikinen, 和D. Harwood 在1994年提出,用于纹理特征提取…

【深度学习实验】网络优化与正则化(六):逐层归一化方法——批量归一化、层归一化、权重归一化、局部响应归一化

文章目录 一、实验介绍二、实验环境1. 配置虚拟环境2. 库版本介绍 三、优化算法0. 导入必要的库1. 随机梯度下降SGD算法a. PyTorch中的SGD优化器b. 使用SGD优化器的前馈神经网络 2.随机梯度下降的改进方法a. 学习率调整b. 梯度估计修正 3. 梯度估计修正:动量法Momen…

使用uniapp写小程序,真机调试的时候不显示log

项目场景: 当小程序文件太大的情况下使用真机调试,但是真机调试的调试器没有任何反应 问题描述 使用uniapp写小程序,真机调试的时候不显示log 原因分析: 提示:因为真机调试的时候没有压缩文件,所以调试的…

为React Ant-Design Table增加字段设置 | 京东云技术团队

最近做的几个项目经常遇到这样的需求,要在表格上增加一个自定义表格字段设置的功能。就是用户可以自己控制那些列需要展示。 在几个项目里都实现了一遍,每个项目的需求又都有点儿不一样,迭代了很多版,所以抽时间把这个功能封装了…

基于STM32婴儿床检测控制系统及源程序

一、系统方案 1、本设计采用STM32单片机作为主控器。 2、DHT11检测湿度,液晶OLED显示,声音检测声音,有声音或尿床,蜂鸣器报警。 3、手机APP可以控制音乐播放。 二、硬件设计 原理图如下: 三、单片机软件设计 1、首先…

cookie机制

目录 为什么会有cookie?? cookie从哪里来的?? cookie到哪里去?? cookie有啥用?? session HttpServletRequest类中的相关方法 简单的实现cookie登录功能 实现登录页面 实现servlet逻辑 实现生成主…

R语言——taxize(第二部分)

taxize(第二部分) 3. taxize 文档中译3.10. classification(根据类群ID检索分类阶元层级)示例1:传递单个ID值示例2:传递多个ID值示例3:传递单个名称示例4:传递多个名称示例5&#xf…

用script去做前端html表格分页/排序

前言: 掘弃掉与后端交互做分页和互导,有利有弊吧; 在小数据的时候,如果不停来回朝服务端发送请求,会造成堵塞.于是,放弃了之前的前后端ajax方式去请求分页表格,使用script去弄一个,降低服务器的压力; 整体思路图: 代码构造: {% extends "order_header_same.html" …

如何通过 wireshark 捕获 C# 上传的图片

一:背景 1. 讲故事 这些天计划好好研究下tcp/ip,以及socket套接字,毕竟工控中设计到各种交互协议,如果只是模模糊糊的了解,对分析此类dump还是非常不利的,而研究协议最好的入手点就是用抓包工具 wireshar…

Trigger替换Demo

maven工程 pom依赖 <dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.2.1</version> </dependency> import org.quartz.Job; import org.quartz.JobExecutionContext; imp…