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.rhkb.cn/news/334655.html

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

相关文章

MySQL多表关联查询习题

一、素材 -- Active: 1714203732007127.0.0.13306db_stu -- 1.创建student和score表 CREATE TABLE student ( id INT(10) NOT NULL UNIQUE PRIMARY KEY , name VARCHAR(20) NOT NULL , sex VARCHAR(4) , birth YEAR, department VARCHAR(20) , address VARCHAR(50) ); -- 创建…

集合的创建

自学python如何成为大佬(目录):https://blog.csdn.net/weixin_67859959/article/details/139049996?spm1001.2014.3001.5501 Python中的集合同数学中的集合概念类似&#xff0c;也是用于保存不重复元素的。它有可变集合&#xff08;set&#xff09;和不可变集合&#xff08;f…

ubuntu strace命令

strace 是 Linux 系统中的一个调试工具&#xff0c;用于跟踪并记录系统调用&#xff08;system calls&#xff09;和信号&#xff08;signals&#xff09;。在 Ubuntu 中&#xff0c;strace 命令可以帮助开发者和系统管理员了解一个程序在运行时如何与操作系统内核进行交互&…

13 VUE学习:组件v-model

基本用法 v-model 可以在组件上使用以实现双向绑定。 从 Vue 3.4 开始&#xff0c;推荐的实现方式是使用 [defineModel()]宏&#xff1a; <!-- Child.vue --> <script setup> const model defineModel()function update() {model.value } </script><te…

在Github上寻找安装ROS软件包

1、创建一个功能包 并下载git sudo apt install git 2、找到自己想在github上要克隆的包 复制此链接 3、克隆到本地 git clone 链接 4.scripts目录用于放置脚本文件和python程序 使用脚本安装编译需要的依赖库 5、下载完成后&#xff0c;在~catkin_ws目录下运行catkin_make进…

C++ 常量和变量

1 常量 具体把数据写出来 2,3&#xff0c;4&#xff1b;1.2 1.3;“Hello world!”,“C” cout<<2015 常量&#xff1a;不能改变的量。 字面常量&#xff08;字面量、直接常量&#xff09;:直接写出的数据。 符号常量&#xff1a;用符号表示数据&#xff0c;但它一旦确定…

OpenHarmony应用开启Service以及完成自启动和常驻

一.背景 由于有需求实现一个后台常驻服务,这里就是来实现在鸿蒙里面如何实现后台服务并且实现自启动和常驻 二.添加服务 如下来添加服务 然后此时直接运行这个hap是报错的,如下: 此处参考: 应用中添加ServiceExtensionAbility然后安装HAP时提示“code:9568344 error: inst…

pytorch笔记:torch.nn.Flatten()

1 介绍 torch.nn.Flatten(start_dim1, end_dim-1) 将一个连续的维度范围扁平化为一个张量 start_dim (int)要开始扁平化的第一个维度&#xff08;默认值 1&#xff09;end_dim (int)要结束扁平化的最后一个维度&#xff08;默认值 -1&#xff09; 2 举例 input torch.ra…

微服务架构五大设计模式详解,助你领跑行业

微服务架构设计模式详解(5种主流模式) 微服务架构 微服务&#xff0c;一种革命性的架构模式&#xff0c;主张将大型应用分解为若干小服务&#xff0c;通过轻量级通信机制互联。每个服务专注特定业务&#xff0c;具备独立部署能力&#xff0c;轻松融入生产环境&#xff0c;为系…

大数据学习之安装并配置maven环境

什么是Maven Maven字面意&#xff1a;专家、内行Maven是一款自动化构建工具&#xff0c;专注服务于Java平台的项目构建和依赖管理。依赖管理&#xff1a;jar之间的依赖关系&#xff0c;jar包管理问题统称为依赖管理项目构建&#xff1a;项目构建不等同于项目创建 项目构建是一…

切勿安装这五款流氓软件,你中招了没

流氓软件&#xff0c;又称为恶意软件&#xff0c;是一类设计用来损害用户设备、窃取信息或干扰正常使用的程序。以下是五款臭名昭著的流氓软件介绍&#xff0c;提醒切勿安装&#xff0c;只能说一个比一个毒&#xff0c;你中招了没 可以去去虚拟机试试谁的毒更强一些&#xff0…

Vue3实战笔记(39)—封装页脚组件,附源码

文章目录 前言一、封装页脚组件二、使用组件总结 前言 在Web开发中&#xff0c;页脚组件是一个重要的部分&#xff0c;它为用户提供关于网站的信息、导航链接以及版权声明等。而封装页脚组件则是一种高效的方法&#xff0c;可以提高代码的可重用性和可维护性。 一、封装页脚组…

生成模型 | 从 VAE 到 Diffusion Model (下)

生成模型 | 从 VAE 到 Diffusion Model &#xff08;上&#xff09;的链接请点击下方蓝色字体: 上部分主要介绍了&#xff0c;GAN, AE, VAE, VQ-VAE, DALL-E 生成模型 | 从 VAE 到 Diffusion Model &#xff08;上&#xff09; 文章目录 我们先来看一下生成模型现在的能力一&…

信息标记形式 (XML, JSON, YAML)

文章目录 &#x1f5a5;️介绍&#x1f5a5;️三种形式&#x1f3f7;️XML (Extensible Markup Language)&#x1f516;规范&#x1f516;注释&#x1f516;举例&#x1f516;其他 &#x1f3f7;️JSON (JavaScript Object Notation)&#x1f516;规范&#x1f516;注释&#x…

Vue2基本创建项目

简单版项目初始化 新建一个vue2 官网文档&#xff1a;介绍 — Vue.js 先确保下载了vue的脚手架 npm install -g vue-cli npm install -g vue/cli --force vue -V 创建项目 vue create 自己起个名字 选择自己选择特性 选择&#xff1a; Babel&#xff1a;他可以将我们写…

K210 数字识别 笔记

一、烧写固件 连接k210开发板&#xff0c;点开烧录固件工具&#xff0c;选中固件&#xff0c;并下载 二、模型训练 网站&#xff1a;MaixHub 1、上传文件 2、开始标记数据 添加9个标签&#xff0c;命名为1~9&#xff0c;按键盘w开始标记&#xff0c;键盘D可以下一张图片&…

C++容器之位集(std::bitset)

目录 1 概述2 使用实例3 接口使用3.1 constructor3.2 count_and_size3.3 test3.4 any3.5 none3.6 all3.7 set3.8 reset3.9 filp3.10 to_string3.11 to_ulong3.12 to_ullong3.13 operators1 概述 位集存储位(只有两个可能值的元素:0或1,true或false,…)。   该类模拟bool…

shell脚本编译成二进制文件shc

文章目录 1. 安装shc2. 使用shc编译Shell脚本3. 执行二进制文件4. 编译后执行效率 将Shell脚本转换为二进制执行文件&#xff0c;可以使用 shc工具。 shc是一个Shell编译器&#xff0c;它可以将Shell脚本编译成二进制文件。以下是详细步骤&#xff1a; 1. 安装shc 在大多数L…

依赖的各种java库(工具类) :fastjson,lombok,jedis,druid,mybatis等

lombok 功能&#xff1a; Lombok 是一个实用的Java类库&#xff0c;可以通过简单的注解来简化和消除一些必须有但显得很臃肿的Java代码。 导入包&#xff1a;使用Lombok首先要将其作为依赖添加到项目中&#xff0c;在pom.xml文件中手动添加 <dependency><groupId&g…

C++学习/复习8--STL简介/六大组件/缺陷

一、STL简介 二、六大组件 三、面试题 四、STL缺陷