Docker 基础使用 (1) 使用流程概览

文章目录

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

Docker 基础使用(0)基础认识
Docker 基础使用 (1) 使用流程概览
Docker 基础使用(2) 镜像与容器
Docker 基础使用(3) 存储卷

侧重对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/22385.shtml

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

相关文章

f-stack和DPDK

GPT-4 (OpenAI) f-stack和DPDK&#xff08;数据平面开发套件&#xff09;都是与高性能网络处理相关的技术。它们的目的是提高数据包的处理速度&#xff0c;优化网络I/O的性能。以下是对这两者的简要解释&#xff1a; 1. **DPDK (Data Plane Development Kit):** DPDK 是一个…

【软件安全国产化替代解决方案】亮相2024澳门万讯论坛

近日&#xff0c;2024万讯论坛在澳门成功举办。本次论坛由万讯电脑科技主办&#xff0c;旨在引进国内尖端科技厂商&#xff0c;提供全方位的信创解决方案&#xff0c;分享信创化过程中所面临的挑战及阶段性转换经验。开源网安作为拥有软件安全领域全链条产品的厂商&#xff0c;…

【网络安全的神秘世界】安装burpsuite

&#x1f31d;博客主页&#xff1a;泥菩萨 &#x1f496;专栏&#xff1a;Linux探索之旅 | 网络安全的神秘世界 | 专接本 java下载地址 burpsuite安装包 安装java 双击打开java安装包——>下一步 在java文件夹下创建jdk和jre文件夹&#xff08;不一定是C盘&#xff0c;根…

云原生下的数据协调艺术:etcd存储系统解析

目录 一、分布式存储简介 二、etcd介绍 三、etcd架构 四、etcd集成实践 一、分布式存储简介 随着云原生与容器化技术的兴起&#xff0c;分布式系统的复杂性大大增加。分布式系统面临一系列问题&#xff0c;比如部署复杂、响应时间慢、运维复杂等&#xff0c;其中最根本的问…

【Redis数据库】命令操作

文章目录 一、连接命令二、键命令 &#x1f308;你好呀&#xff01;我是 山顶风景独好 &#x1f495;欢迎来到我的博客&#xff0c;很高兴能够在这里和您见面&#xff01; &#x1f495;希望您在这里可以感受到一份轻松愉快的氛围&#xff01; &#x1f495;这里不仅可以获得有…

Arduino_ESP32_控制舵机运行【2024年】版

介绍 吧下面代码复制进去就可以使用了。 当然肯定不只是esp32基本上所有的Arduino都可以使用 然后接线的话信号线接到18号io口 然后其他的接电源正负极 图示 代码教程 #include <Arduino.h>// 定义舵机控制引脚 const int servoPin 18;// 定义舵机角度对应的脉宽范围 …

算法金 | 再见,PCA 主成分分析!

​大侠幸会&#xff0c;在下全网同名[算法金] 0 基础转 AI 上岸&#xff0c;多个算法赛 Top [日更万日&#xff0c;让更多人享受智能乐趣] 1. 概念&#xff1a;数据降维的数学方法 定义 主成分分析&#xff08;PCA&#xff09;是一种统计方法&#xff0c;通过正交变换将一组可…

RTOS笔记--任务状态与调度

任务状态 freertos中的任务分为四个状态&#xff1a;就绪状态&#xff08;ready&#xff09;、运行状态&#xff08;running&#xff09;、阻塞状态&#xff08;blocked&#xff09;、暂停状态&#xff08;suspended&#xff09; 完整的任务状态转换图&#xff1a; 在使用vTas…

24V转3V的高效解决方案-AH8610.sot23-6

24V转3V的高效解决方案-AH8610.sot23-6 ### 引言 随着电子设备向小型化、高性能和高效率发展&#xff0c;对电源管理芯片的要求也越来越高。AH8610.sot23-6是一款专为小型化电源转换设计的同步降压开关芯片&#xff0c;它能够将24V的输入电压转换为3V输出&#xff0c;适用于US…

风管静压箱的作用及选型

1.压力的种类 动压—由风速而产生的压力&#xff1b;空调厂家设计时均已经考虑&#xff0c;无需计算。静压—垂直作用于风管壁面的压力&#xff0c;用于克服风管阻力&#xff1b;所以&#xff0c;对于风管机组有零静压和带静压之分&#xff0c;零静压指静压为0Pa&#xff0c;不…

数学建模笔记

数学建模 定义角度 数学模型是针对参照某种事物系统的特征或数量依存关系&#xff0c;采用数学语言&#xff0c;概括地或近似地表述出的一种数学结构&#xff0c;这种数学结构是借助于数学符号刻画出来的某种系统的纯关系结构。从广义理解&#xff0c;数学模型包括数学中的各…

数据库开发-Mysql03

目录 1. 多表查询 1.1 概述 1.1.1 数据准备 1.1.2 介绍 1.1.3 分类 1.2 内连接 1.3 外连接 1.4 子查询 1.4.1 介绍 1.4.2 标量子查询 1.4.3 列子查询 1.4.4 行子查询 1.4.5 表子查询 1.5 案例 2. 事务 2.1 介绍 2.2 操作 2.3 四大特性 3. 索引 3.1 介绍 3…

实验室类管理平台LIMS系统的ui设计实例

实验室类管理平台LIMS系统的ui设计实例

第九十七节 Java面向对象设计 - Java Object.Finalize方法

Java面向对象设计 - Java Object.Finalize方法 Java提供了一种在对象即将被销毁时执行资源释放的方法。 在Java中&#xff0c;我们创建对象&#xff0c;但是我们不能销毁对象。 JVM运行一个称为垃圾收集器的低优先级特殊任务来销毁不再引用的所有对象。 垃圾回收器给我们一个…

weak的底层原理

weak 引用在 iOS 中通过维护一个全局的弱引用表来实现。当弱引用的对象被释放时&#xff0c;所有指向它的弱引用会被自动置为 nil&#xff0c;从而防止悬挂指针。 弱引用表&#xff08;Weak Table&#xff09;的键和值 理解弱引用表的键和值对于理解 weak 引用的底层机制非常重…

容器运行nslookup提示bash: nslookup: command not found【笔记】

在容器中提示bash: nslookup: command not found&#xff0c;表示容器中没有安装nslookup命令。 可以通过以下命令安装nslookup&#xff1a; 对于基于Debian/Ubuntu的容器&#xff0c;使用以下命令&#xff1a; apt-get update apt-get install -y dnsutils对于基于CentOS/R…

AI网络爬虫:用GraphQL查询爬取动态网页数据

任务&#xff1a;爬取网站www.skillshare.com搜索结果页面数据&#xff1a; 查看网站的请求信息&#xff1a; 请求网址: https://www.skillshare.com/api/graphql 请求方法: POST 状态代码: 200 OK 远程地址: 127.0.0.1:10809 引荐来源网址政策: strict-origin-when-…

一篇文章讲透数据结构之树and二叉树

一.树 1.1树的定义 树是一种非线性的数据结构&#xff0c;它是有n个有限结点组成的一个具有层次关系的集合。把它叫做树是因为它看起来像一棵倒挂的树&#xff0c;也就是说它是根在上&#xff0c;叶在下的。 在树中有一个特殊的结点&#xff0c;称为根结点&#xff0c;根结点…

免费工具扫描 Linux 中已知威胁

首发公众号网络研究观&#xff0c;关注获取更多。 卡巴斯基为 Linux 平台发布了一款名为 KVRT 的新病毒清除工具&#xff0c;允许用户免费扫描他们的系统并清除恶意软件和其他已知威胁。 尽管人们普遍误以为 Linux 系统本质上是安全的&#xff0c;不会受到威胁&#xff0c;但不…

如何使用Vuforia AR进行增强现实技术的开发?

前言 今天是坚持写博客的第17天&#xff0c;很高兴自己可以一直坚持下来。我们今天来讲讲怎么使用Vuforia AR进行增强现实的开发。 我们需要在今天的开发中用到Vuforia AR和2018版的Unity3d 什么是Vuforia AR Vuforia AR是基于实时计算摄影机影像的位置及角度&#xff0c;并…