Docker学习笔记(二)镜像、容器、仓库相关命令操作

一、docker镜像操作

列出镜像列表

我们可以使用 docker images 来列出本地主机上的镜像。

各个选项说明:

  • REPOSITORY:表示镜像的仓库源

  • TAG:镜像的标签

  • IMAGE ID:镜像ID

  • CREATED:镜像创建时间

  • SIZE:镜像大小

查找镜像

我们可以从 Docker Hub 网站来搜索镜像,Docker Hub 网址为: https://hub.docker.com/

我们也可以使用 docker search 命令来搜索镜像。比如我们需要一个 httpd 的镜像来作为我们的 web 服务。我们可以通过 docker search xxx 命令搜索 httpd 来寻找适合我们的镜像。

NAME: 镜像仓库源的名称

DESCRIPTION: 镜像的描述

OFFICIAL: 是否 docker 官方发布

stars: 类似 Github 里面的 star,表示点赞、喜欢的意思。

AUTOMATED: 自动构建。

下载镜像

我们决定使用上图中的 httpd 官方版本的镜像,使用命令 docker pull xxx来下载镜像。

删除镜像

首先我们用docker images 查看当前有哪些镜像:

 如果我们想删除镜像httpd,则使用docker rmi xxx命令:

二、docker容器操作 

创建容器

首先我们先拉取一个镜像

docker pull  training/webapp

然后我们用刚拉取的镜像创建并启动一个容器(docker run 镜像名 ----创建并启动容器

docker run -d -P --name pydemo training/webapp python app.py

参数说明:

  • -d: 后台启动。
  • -P: 随机映射端口(后面会讲)。
  • --name:给容器起别名
  • training/webapp: training/webapp 镜像。
  • python app.py:容器启动后执行的命令,运行 app.py Python 脚本

总结来说,此命令会基于 training/webapp 镜像创建一个容器,该容器将在后台运行,并自动映射端口。这个容器会被命名为 pydemo,其主要工作是执行 app.py Python 脚本来启动Web应用程序。

  • CONTAINER IDcaa3f50fd8aa - 容器的唯一标识符。
  • IMAGEtraining/webapp - 启动此容器所用的基础镜像名称。
  • COMMAND"python app.py" - 启动容器时执行的命令,这里是运行名为 app.py 的Python脚本。
  • CREATEDAbout an hour ago - 容器创建时间,距离查询时大约一小时前。
  • STATUSUp 6 minutes - 容器当前状态,已运行6分钟。
  • PORTS:
    • 0.0.0.0:32772->5000/tcp - 宿主机的32772端口被映射到容器的5000端口(TCP协议),可以从任意IP地址访问。
    • :::32771->5000/tcp - 宿主机的IPv6任意地址上的32771端口被映射到容器的5000端口(TCP协议),支持IPv6访问。
  • NAMESpydemo - 容器的自定义名称。

 查看所有容器

使用命令docker ps -a查看所有的容器:

停止容器

使用命令docker stop <容器 ID>停止一个正在运行的容器:

启动已停止运行的容器

使用命令docker start <容器 ID> 启动一个已停止的容器:

删除容器

删除容器使用 docker rm 命令:

网络端口映射

前面我们执行了命令docker run -d -P --name pydemo training/webapp python app.py创建了一个 python 应用的容器。这里我们是携带了参数-P来运行,使用docker ps命令我们可以看到容器端口 5000 绑定主机端口 32772

我们也可以使用 -p 标识来指定容器端口绑定到主机端口。

两种方式的区别是(大写P和小写p):

  • -P :是容器内部端口随机映射到主机的端口。
  • -p : 是容器内部端口绑定到指定的主机端口。

docker run -d -p 5000:5000 training/webapp python app.py

三、docker仓库操作

注册

在 https://hub.docker.com 免费注册一个 Docker 账号。

登录和退出

登录需要输入用户名和密码,登录成功后,我们就可以从 docker hub 上拉取自己账号下的全部镜像。

登录

docker login

退出 

docker logout

 推送镜像到本地仓库

用户登录后,可以通过 docker push 命令将自己的镜像推送到 Docker Hub。

以下命令中的 username 请替换为你的 Docker 账号用户名。

$ docker tag ubuntu:18.04 username/ubuntu:18.04
$ docker image lsREPOSITORY      TAG        IMAGE ID            CREATED           ...  
ubuntu          18.04      275d79972a86        6 days ago        ...  
username/ubuntu 18.04      275d79972a86        6 days ago        ...  
$ docker push username/ubuntu:18.04
$ docker search username/ubuntuNAME             DESCRIPTION       STARS         OFFICIAL    AUTOMATED
username/ubuntu

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

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

相关文章

Kubernetes 负载均衡器解决方案 MetalLB实践

Kubernetes 负载均衡解决方案 MetalLB实践 MetalLB 是一个用于在 Kubernetes 集群中提供外部 IP 地址的负载均衡器实现。 准备工作 1. 安装需知 安装 MetalLB 有一些前置条件&#xff1a; Kubernetesv1.13.0 或者更新的版本 集群中的 CNI 要能兼容 MetalLB&#xff0c;最新…

【算法 之快速排序 原理及案例】

快速排序&#xff08;Quick Sort&#xff09; 快速排序&#xff08;Quick Sort&#xff09;是一种非常高效的排序算法&#xff0c;它采用了分治&#xff08;Divide and Conquer&#xff09;的思想。快速排序的基本步骤是&#xff1a; 选择一个基准元素&#xff08;pivot&…

昇思25天学习打卡营第9天|静态图模式的深度剖析与应用指南

目录 背景介绍 动态图模式 静态图模式 静态图模式的使用场景 静态图模式开启方式 基于装饰器的开启方式 基于context的开启方式 静态图的语法约束 JitConfig配置选项 静态图高级编程技巧 背景介绍 AI 编译框架主要包含两种运行模式&#xff0c;即动态图模式与静态图模…

19C 单机文件系统安装文档

准备工作 1)查看系统版本、内核参数 more /etc/redhat-release more /etc/redflag-releaseuname -a2)查看当前系统是否配置了HugePages。在下面的查询中&#xff0c;HugePages的几个相关值都为0&#xff0c;表明当前未配值HugePages&#xff0c;其次可以看到该版本的大页大小为…

【数据结构】03.顺序表的应用——通讯录

本篇文章我们将使用顺序表来实现通讯录的增删查改功能。 代码如下&#xff1a; //Contact.h#pragma once#define NAME_MAX 30 #define GENDER_MAX 10 #define ADDRESS_MAX 100 #define TEL_MAX 12enum{Exit,Add,Del,Seek,Change,Show};//枚举类型&#xff0c;便于理解数字含义…

初学Spring之动态代理模式

动态代理和静态代理角色一样 动态代理的代理类是动态生成的 动态代理分为两大类&#xff1a; 基于接口的动态代理&#xff08;JDK 动态代理&#xff09;、基于类的动态代理&#xff08;cglib&#xff09; 也可以用 Java 字节码实现&#xff08;Javassist&#xff09; Prox…

Java之网络面试经典题(一)

目录 ​编辑 一.Session和cookie Cookie Session 二.HTTP和HTTPS的区别 三.浅谈HTTPS为什么是安全的&#xff1f; 四.TCP和UDP 五.GET和Post的区别 六.forward 和 redirect 的区别&#xff1f; 本专栏全是博主自己收集的面试题&#xff0c;仅可参考&#xff0c;不能相…

转发服务器实验

首先先克隆一个虚拟机并完成ip地址的修改 nmcli connection modify ens160 ipv4.addresses 192.168.209.128/24 nmcli connection modify ens160 ipv4.method manual nmcli connection modify ens160 connection.autoconnect yes nmcli connection up ens160 nmcli connection…

Java虚拟机(JVM)深入解析与性能调优

Java虚拟机&#xff08;JVM&#xff09;是Java语言的核心&#xff0c;它为Java程序提供了一个运行环境&#xff0c;使得Java程序具有跨平台的特性。深入理解JVM的工作原理对于编写高效的Java代码和进行性能调优至关重要。本文将详细介绍JVM的工作原理&#xff0c;包括内存模型、…

web系统更改静态文件后不生效的问题解决

当改了js或css文件后&#xff0c;需要手动清理浏览器缓存&#xff0c;更改的代码才生效的问题&#xff0c;可以通过对引用文件的地方添加版本号进行解决。 比如&#xff1a; <script src"js/js_admin/permission.js"></script> 添加版本号后&#xff…

强化学习编程实战-1-一个及其简单的强化学习实例(多臂赌博机)

1.1 多臂赌博机 一台拥有K个臂的机器&#xff0c;玩家每次可以摇动K个臂中的一个&#xff0c;摇动后&#xff0c;会吐出数量不等的金币&#xff0c;吐出金币的数量服从一定的概率分布&#xff0c;而且不同臂的概率分布不同。 多臂赌博机的问题是&#xff1a;假设玩家共有N次摇地…

WPF中Background=“{x:Null}“ 和 Transparent

WPF中关于背景透明和背景无 此时&#xff0c;我代码中是写的有有个控件&#xff0c;一个Border &#xff0c;一个TextBox &#xff0c;范围都是全屏这么大&#xff0c;可以输入TextBox 因为&#xff0c;当border没有设置背景的时候&#xff0c;实际上是&#xff1a; <Borde…

尚庭公寓——数据库设计

1. 数据的关系 一对一&#xff0c;一对多&#xff08;多对一&#xff09;&#xff0c;多对多 2. 实体关系模型 实体关系模型常用ER图&#xff08;enity relationship graph&#xff09;表示&#xff1b; 矩形表示实体&#xff08;类似Java中的对象&#xff0c;如学生就是一…

NoSQL 之 Redis 配置与常用命令

一、关系型数据库与非关系型数据库 1、数据库概述 &#xff08;1&#xff09;关系型数据库 关系型数据库是一个结构化的数据库&#xff0c;创建在关系模型&#xff08;二维表格模型&#xff09;基础上&#xff0c;一般面向于记 录。 SQL 语句&#xff08;标准数据查询语言&am…

在5G/6G应用中实现高性能放大器的建模挑战

来源&#xff1a;Modelling Challenges for Enabling High Performance Amplifiers in 5G/6G Applications {第28届“集成电路和系统的混合设计”(Mixed Design of Integrated Circuits and Systems)国际会议论文集&#xff0c;2021年6月24日至26日&#xff0c;波兰洛迪} 本文讨…

Vue中Class数据绑定

Class数据绑定 数据绑定的一个常见需求场景是操作CSS class列表&#xff0c;因为class是attribute&#xff08;属性&#xff09;&#xff0c;我们可以和其他attribute一样使用v-bind 将它们和动态的字符串绑定。但是&#xff0c;在处理比较复杂的绑定时&#xff0c;通过拼接生…

[C 语言] 嵌套结构体

结构体理解&#xff1a; 起始结构体就是一个类型&#xff0c;而用这个类型下有不同的成员。 每个成员在共同的类型下有相同的属性。 比如有一个班级的类&#xff0c;班级的类下有学生这种类型&#xff0c;而不同的学生有名字&#xff0c;年龄&#xff0c;班级信息这种属性。学生…

图片压缩代码和实际操作页面

先编写一个小工具类 package com.ai157.aigc.utils; import org.springframework.web.multipart.MultipartFile; import java.io.File; import java.io.IOException; import java.io.InputStream; public class MyFileUtils {public static File convert(MultipartFile multip…

金蝶云苍穹-插件开发(一)加载数据

前言 此系列博客是进行金蝶云苍穹开发时的插件开发的教程&#xff0c;一是在明年要是还要参加软件杯金蝶A6赛题的话&#xff0c;可以看此系列教程的博客来进行复习&#xff0c;同时如果要是我实验室的学弟学妹要参加的话&#xff0c;我这个系列的博客可以给他们提供学习参考&a…

Spark SQL----内置函数Bitwise Functions

Spark SQL----内置函数Bitwise Functions Bitwise Functions 例子&#xff1a; -- & SELECT 3 & 5; ------- |(3 & 5)| ------- | 1| --------- ^ SELECT 3 ^ 5; ------- |(3 ^ 5)| ------- | 6| --------- bit_count SELECT bit_count(0); -----------…