Docker 基础使用 (1)

文章目录

  • Docker 软件安装
  • Docker 镜像仓库
  • Docker 仓库指令
  • Docker 镜像指令
  • Docker 容器指令
  • Docker 使用实例 —— 搭建 nginx 服务
    • nginx 概念
    • nginx 使用
    • 用 docker 启动 nginx

侧重对docker基本使用的概览。

Docker 软件安装

Linux Ubuntu 依次执行以下指令即可

# 更新软件包列表和安装最新的软件包
sudo apt update
sudo apt upgrade# 安装Docker的依赖包
sudo apt install apt-transport-https ca-certificates curl software-properties-common# 添加Docker的官方 GPG 密钥
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -# 添加Docker的软件源
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"# 安装Docker
sudo apt update
sudo apt install docker-ce# 检查Docker是否成功安装
sudo docker --version

Docker 镜像仓库

前面提到, Docker精选和容器关系类似于程序和进程的关系,程序被执行后才有进程。 镜像被启动之后才会产生容器。镜像被存储在例如docker Hub的服务器, docker Hub 类似于GitHub,核心功能为在服务器存储镜像。我们可以在docker Hub上创建自己的镜像仓库,用于远程存储镜像。

在这里插入图片描述

镜像仓库按是否对外开放划分:
(1)公有仓库:像阿里云、dockerhub 等放到公有网络上,不用登录就可以下载镜像,供大家访问使用
(2)私有仓库:不对外开放,往往位于私有网络,只有公司内部人员可以使用。按供应商和面向群体划分
(1)sponsor(赞助) registry:第三方的 registry,供客户和 docker 社区版使用。
(2)mirror(镜像) registry:第三方的 registry,只让客户使用。
(3)vendor(供应商) registry:由发布 docker 镜像的供应商提供的 registry。
(4)private registry:通过没有防火墙和额外的安全层的私有实体提供的 registry。

Docker 仓库指令

# 登录 Docker 镜像仓库
# 如果未指定镜像仓库地址,默认为官方仓库 Docker
docker login [OPTIONS] [SERVER]
--help:显示帮助信息,列出所有可用选项。
-u, --username:指定用户名进行登录。
-p, --password:指定密码进行登录。
-e, --email:指定邮箱进行登录。# 从镜像仓库中拉取或者更新指定镜像
docker pull [OPTIONS] NAME[:TAG|@DIGEST]
--help:显示帮助信息,列出所有可用选项。
--all-tags:拉取镜像仓库中所有标签的镜像。
--disable-content-trust:禁用镜像内容信任验证。
--platform:指定要拉取的镜像的平台架构。
--quiet, -q:安静模式,只输出拉取进度信息。# 将本地的镜像上传到镜像仓库(要先登陆到镜像仓库)
docker push <REPOSITORY:TAG>
--all-tags:推送指定仓库中的所有标签。
--disable-content-trust:禁用镜像内容信任验证。
--quiet, -q:安静模式,只输出推送进度信息。# 从 Docker Hub 查找镜像
# TERM为镜像名
docker search [OPTIONS] TERM
--no-trunc :显示完整的镜像描述
-f <过滤条件>:列出收藏数不小于指定值的镜像
--limit 5:返回前5个相关的镜像#登出一个 Docker 镜像仓库
#如果未指定镜像仓库地址,默认为官方仓库 Docker Hub
docker logout [SERVER]

Docker 镜像指令

#  列出本地环境中已有的镜像
docker images [OPTIONS] [REPOSITORY[:TAG]]
-a :列出本地所有的镜像(含中间映像层,默认情况下,过滤掉中间映像层);
--digests :显示镜像的摘要信息;
-f :显示满足条件的镜像;
--format :指定返回值的模板文件;
--no-trunc :显示完整的镜像信息;
-q :只显示镜像 ID# 查看镜像详细信息
docker image inspect [OPTIONS] IMAGE [IMAGE...]# 标记本地镜像,将其归入某一仓库
# SOURCE_IMAGE[:TAG]:源镜像的名称和标签。
# TARGET_IMAGE[:TAG]:目标镜像的名称和标签
# docker image tag old-image:latest new-image:latest
docker image tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

Docker 容器指令

# 创建一个新的容器并运行一个命令
# ARG...:可选参数,传递给容器中执行的命令的参数。
# IMAGE:要运行的镜像名称。
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]-d: 后台运行容器,并返回容器 ID;
-i: 以交互模式运行容器,通常与 -t 同时使用;
-P: 随机端口映射,容器内部端口随机映射到主机的端口
-p: 指定端口映射,格式为:主机(宿主)端口:容器端口
-t: 为容器重新分配一个伪输入终端,通常与 -i 同时使用;
--name="nginx-lb": 为容器指定一个名称;
-h "mars": 指定容器的 hostname;
-e username="ritchie": 设置环境变量;
--cpuset-cpus="0-2" or --cpuset-cpus="0,1,2": 绑定容器到指定 CPU 运行;
-m :设置容器使用内存最大值;
--network="bridge": 指定容器的网络连接类型;
--link=[]: 添加链接到另一个容器;
--volume , -v: 绑定一个卷
--rm :shell 退出的时候自动删除容器
# 列出容器
docker ps [OPTIONS]
-a :显示所有的容器,包括未运行的。
-f :根据条件过滤显示的内容。
--format :指定返回值的模板文件。如 json 或者 table
-l :显示 latest 的容器。
-n :列出最近创建的 n 个容器。
--no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。

Docker 使用实例 —— 搭建 nginx 服务

nginx 概念

Nginx是一个开源的高性能的HTTP和反向代理服务器,也可以用作邮件代理服务器。它具有低内存消耗、高并发能力和强大的反向代理特性,常用于构建性能优越的Web服务器和承载高流量网站。

nginx 使用

nginx 简易的搭建一个网站很简单,只需执行以下指令即可

# 安装nginx
apt install nginx -y# 产看nginx版本验证是否安装成功
nginx -v# 手动启动。 一般nginx安装后会自动启动
nginx # 查看是否启动成功
ps -aux | grep nginx# 关闭nginx服务 
kill nginx_pid

之后再浏览器中访问启动的nginx服务即可,nginx默认端口为80,默认前端代码在/usr/share/nginx/html 目录下查看(Linux Ubuntu)。默认前端页面可以配置。

在这里插入图片描述
在这里插入图片描述

用 docker 启动 nginx

在这里插入图片描述
在这里插入图片描述

下图指令说明:
–name nginx1:为容器指定名称为 nginx1。
–rm:容器退出后立即删除。
-it:以交互模式运行容器,可以进行交互式操作。
-p 81:81:将容器的81端口映射到主机的81端口,允许通过主机的81端口访问容器内的服务。
nginx:1.23.3:要运行的镜像名称及版本。
bash:覆盖镜像中指定的默认命令,以 bash 终端启动容器。
在这里插入图片描述
在这里插入图片描述

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

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

相关文章

第十二周 5.20 面向对象的三大特性(封装、继承、多态)(一)

一、封装 1.目前的程序无法保证数据的安全性、容易造成业务数据的错误 2.private:私有的&#xff0c;被private修饰的内容只能在本类中访问 3.为私有化的属性提供公开的get和set方法 (1)get方法&#xff0c;获取私有化属性的值&#xff1a; public 返回值类型 get属性名…

[SWPUCTF 2022 新生赛]奇妙的MD5... ...

目录 [SWPUCTF 2022 新生赛]奇妙的MD5 [GDOUCTF 2023]受不了一点 [LitCTF 2023]作业管理系统 注入点一&#xff1a;文件上传 注入点二&#xff1a;创建文件直接写一句话木马 注入点三&#xff1a;获取数据库备份文件 [LitCTF 2023]1zjs [SWPUCTF 2022 新生赛]奇妙的MD5 …

生成式AI的GPU网络技术架构

生成式AI的GPU网络 引言&#xff1a;超大规模企业竞相部署拥有64K GPU的大型集群&#xff0c;以支撑各种生成式AI训练需求。尽管庞大Transformer模型与数据集需数千GPU&#xff0c;但实现GPU间任意非阻塞连接或显冗余。如何高效利用资源&#xff0c;成为业界关注焦点。 张量并…

单调栈--

1.每日温度 那么单调栈的原理是什么呢&#xff1f;为什么时间复杂度是O(n)就可以找到每一个元素的右边第一个比它大的元素位置呢&#xff1f; 单调栈的本质是空间换时间&#xff0c;因为在遍历的过程中需要用一个栈来记录右边第一个比当前元素高的元素&#xff0c;优点是整个数…

利用迭代方法求解线性方程组(Matlab)

一、问题描述 利用迭代方法求解线性方程组。 二、实验目的 掌握Jacobi 方法和Gauss-Seidel 方法的原理&#xff0c;能够编写代码实现两种迭代方法&#xff1b;能够利用代码分析线性方程组求解中的误差情况。 三、实验内容及要求 用代码实现&#xff1a;对下列方程中重新组织…

基于盲源分离和半盲源分离的心电信号伪影消除方法(MATLAB 2018)

心电信号是通过测量放置在人体皮肤上的电极之间的电位差来获取的&#xff0c;其本身具有信号微弱、频段低、不稳定等特性。因此ECG信号在实际采集时极易受到不同噪声的影响&#xff0c;这会造成心电图本身的波形形态特征的失真&#xff0c;从而导致错误诊断和对患者的不当治疗。…

2024年5月软考成绩什么时候出?附查询方式

2024年5月软考成绩查询时间及查询方式&#xff1a; 查询时间&#xff1a;预计在2024年7月上旬进行。 查询方式&#xff1a; 方式一&#xff1a;登陆中国计算机技术职业资格网&#xff08;www.ruankao.org.cn&#xff09;&#xff0c;点击报名系统&#xff0c;输入注册账号和…

echart图表legend每列固定宽度

修改前&#xff1a; 修改后&#xff1a; 关键代码&#xff1a; 设置一个背景并使之透明&#xff0c;否则宽度不生效&#xff0c;配合formatter使用 formatter: {a|{name}},rich:{a: {width: 48,fontSize: 12,backgroundColor: "rgba(11, 39, 52, 0)" // 关键代码&a…

高效编写大模型 Prompt 提示词,解锁 AI 无限创意潜能

随着 ChatGPT 的出现&#xff0c;AI 成为新的焦点&#xff0c;有人说过“未来 50%的工作将是提示词工作”&#xff0c;目前很多公司也在开始招聘 Prompt 提示词工程师。Prompt&#xff08;提示词&#xff09;成为了连接创意与技术的桥梁&#xff0c;它不仅是简单的指令&#xf…

2024年第七届管理、经济和社会科学国际会议(ICMESS 2024)

2024年第七届管理、经济和社会科学国际会议(ICMESS 2024) 会议简介 2024年第七届管理、经济和社会科学国际会议&#xff08;ICMESS 2024&#xff09;将为“管理、经济与社会发展”等最新研究领域的研究人员、专家、学者和行业专家提供一个平台&#xff0c;介绍他们的最新研究…

Python OCR 文字检测使用模型:读光-文字检测-DBNet行检测模型-中英-通用领域

介绍 什么是OCR&#xff1f; OCR是“Optical Character Recognition”的缩写&#xff0c;中文意为“光学字符识别”。它是一种技术&#xff0c;可以识别和转换打印在纸张或图像上的文字和字符为机器可处理的格式&#xff0c;如计算机文本文件。通过使用OCR技术&#xff0c;可…

Vue:快速上手

一、简介 Vue (发音为 /vjuː/&#xff0c;类似 view) 是一款用于构建用户界面的 JavaScript 框架。它基于标准 HTML、CSS 和 JavaScript 构建&#xff0c;并提供了一套声明式的、组件化的编程模型&#xff0c;帮助你高效地开发用户界面。无论是简单还是复杂的界面&#xff0c;…

信息化教推动数字化学校建设

在数字化学校建造的过程中&#xff0c;许多学校都疏忽了运用这些网络科技渠道的教师和学生&#xff0c;一味的追求学校数字化、智能化建造&#xff0c;没有从根本上意识到教育信息化的出现者或者说体现者的重要性&#xff0c;因而&#xff0c;建造数字化学校&#xff0c;前进教…

微服务架构-聚合设计模式

微服务架构-聚合设计模式 聚合器&#xff08;Aggregator&#xff09;设计模式&#xff1a;用于将来自多个微服务的数据&#xff0c;聚合成一个统一的响应&#xff0c;提供给客户端。 聚合模式的核心思想&#xff1a;是使用一个聚合器服务&#xff08;Aggregator Service&#…

你对仲裁裁决不服怎么办?我教你四个狠招!

你对仲裁裁决不服怎么办&#xff1f;我教你四个狠招&#xff01; 这个标题是什么意思呢&#xff1f;也就是说&#xff0c;当你&#xff08;或用人单位&#xff09;向劳动仲裁委提出仲裁申请后&#xff0c;但劳动仲裁结果没有维护你的权益&#xff0c;或者你不满意&#xff0c;…

[STM32+HAL]LD-1501MG舵机二次开发指南

一、准备材料 核心板&#xff1a;STM32F407ZGT6 舵机&#xff1a;LD-1501MG数字舵机 控制器&#xff1a;24路PWM舵机控制器 二、HAL库配置 开启串口与控制器通信 三、Keil填写代码 1、Servo.c #include "Servo.h" #include "usart.h"uint8_t Message…

python内存马学习

python内存马学习 python内存马学习 python内存马学习环境搭建和复现分析payloadFlask 请求上下文管理机制bypass高版本flask内存马的利用before_request**after_request** teardown_requesterrorhandler相关例题H&NCTF 2024 ezFlask python内存马 环境搭建和复现 from fl…

离大模型落地应用最近的工程化技术(RAG)

虽然大规模语言模型&#xff08;LLM&#xff09;在自然语言处理&#xff08;NLP&#xff09;方面表现出了其强大的文本生成和理解能力&#xff0c;但是它们在实际应用中仍然面临一些挑战&#xff0c;如处理大规模知识库和实时获取最新信息的能力&#xff0c;并且会产生幻觉。为…

「代码厨房大揭秘:Python性能优化的烹饪秘籍!」

哈喽&#xff0c;我是阿佑&#xff0c;上篇咱们讲了 Socket 编程 —— 探索Python Socket编程&#xff0c;赋予你的网络应用隐形斗篷般的超能力&#xff01;从基础到实战&#xff0c;构建安全的聊天室和HTTP服务器&#xff0c;成为网络世界的守护者。加入我们&#xff0c;一起揭…

区块链系统开发测试----链码部署开发、系统开发验证

一.检查配置环境 检查虚拟机环境&#xff0c;确保有正在运行的Hyperledger Fabric区块链&#xff0c;并且其中chaincode_basic、credit_chaincode链码可以正常调用 查看chaincode_basic、credit_chaincode链码调用 二.开发征信链码代码 基于现有征信链码&#xff0c;开发征信…