Docker【docker使用】

文章目录

  • 前言
  • 一、概念
  • 二、常用方法
    • 1.镜像
    • 2.容器
  • 三、镜像与镜像的关系,以及镜像构建和管理


前言

上一篇文章讲了docker的安装,本片文章我们来聊聊docker的一些常用操作。以及镜像、容器之间的关系

一、概念

docker三大核心概念:镜像 Image、容器 Container、仓库 Repository

  • 镜像:
    • Docker 镜像,就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
  • 容器:
    • 镜像容器,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器镜像运行时的实体。
    • 容器可以被创建、启动、停止、删除、暂停等。
    • 基于镜像可以创建容器,同一个镜像可以创建多个容器
    • 基于容器也可以创建镜像
  • 仓库:
    • 用来保存镜像镜像存放在仓库中,可以从仓库中拉取或者推送镜像仓库

二、常用方法

1.镜像

配置好仓库后可以在docker阿里云镜像仓库下载需要的镜像,像mysql nginx
例如:mysql

docker pull mysql;
docker run -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql; #初次启动要设置mysql初始密码 -d表示后台运行,否则你的终端就无法继续操作了
命令描述案例
pull拉取镜像docker pull mysql #默认拉取最新镜像
docker pull mysql:8.0.28 # 拉取指定版本镜像
search搜索镜像docker search mysql
tagcopy镜像并重命名,源镜像仍然存在
如果镜像没有镜像名,也可以通过镜像id进行更改名称
docker tag mysql mysql2
images查看本地已存在的镜像信息docker images mysql # 指定镜像
docker images #所有镜像
docker images | grep mysql # 配合管道符使用
rmi删除镜像|镜像idrmi mysql
build基于dockerfile构建镜像docker build
commit基于已有容器构建镜像docker commit

docker不能直接查看远程仓库中某个镜像的所有可用版本。但是有两个操作可以实现它

  • 1直接进入镜像仓库管理界面,这里只列举两个

    • 官方:https://hub-stage.docker.com/_/nginx/tags
    • 阿里:https://cr.console.aliyun.com/cn-hangzhou/instances/artifact。阿里的容器镜像服务是每个人都不同的,你需要登录进入
      在这里插入图片描述

  • 2 拉取镜像的所有可用版本。虽然这个命令会直接下载所有可用版本,比较耗费资源,时间也比较长。

    docker pull --all-tags [IMAGE_NAME]
    

  • 3 使用manifest inspect命令,他会打印出镜像在仓库中的清单

    docker manifest inspect library/nginx
    

    它是一个试验性的命令,如果你无法使用,则需要配置开启manifest

    vi ~/.docker/config.json
    # 添加以下内容
    {"experimental": "enabled"
    }
    

2.容器

容器是通过依据image创建的运行实例,把image看成class,容器就相当于class new的实例对象。一个镜像可以create出多个容器。
通过exec命令进入容器后可以通过两种方式退出容器

  • 1.exit:退出容器,并保持容器运行
  • 2 ctrl + P Q:退出容器,返回到主机命令窗口
命令描述参数解释
createdocker create (–name=容器名) 镜像名docker create --name=mybusybox busybox
run运行容器,run = pull + create + start 相当于运行三个命令docker run mybusybox
exec…-it…sh进入容器内部 sh:表示进入docker exec -it mybusybox sh
start启动容器docker start -d mybusybox # -d:后台运行
restart重启容器docker restart mybusybox
stop停止容器docker stop mybusybox
rm删除容器docker rm mybusybox
commit基于已有容器构建镜像
ps查看容器状态:docker ps -a:查看所有容器docker ps -l:查看最近操作的容器docker pa -a
logs查看容器日志:docker logs 容器名:查看指定容器的运行日志docker logs -f 容器名:实时查看指定容器的运行日志docker logs -f mysql

容器在操作容器时,一些比较有用的参数

命令说明
--name指定容器名称:–name=容器名–name 容器名
-d后台运行
-p映射端口,宿主机端口:容器端口,例如:-p 3307:3306
-v挂载目录到本地,宿主机目录:容器目录,例如:-v /usr/local/nginx:/usr/local/nginx
--restart自动重启,例如:–restart=always,跟随docker服务的重启而重启

三、镜像与镜像的关系,以及镜像构建和管理

镜像构建以及管理的内容比较多,本文的目的是记录镜像和容器的各种操作,所以单独把这一块放到这一篇文章。

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

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

相关文章

力扣大厂热门面试算法题 43-45

43. 字符串相乘,44. 通配符匹配,45. 跳跃游戏 II,每题做详细思路梳理,配套Python&Java双语代码, 2024.03.18 可通过leetcode所有测试用例。 目录 43. 字符串相乘 解题思路 完整代码 Python Java 44. 通配符…

基于Spring Boot的中医学习服务管理系统

摘 要 随着世界经济信息化、全球化的到来和互联网的飞速发展,推动了各行业的改革。若想达到安全,快捷的目的,就需要拥有信息化的组织和管理模式,建立一套合理、动态的、交互友好的、高效的中医学习服务管理系统。当前的信息管理存…

汽车制造业供应商管理会面临哪些问题?要如何解决?

汽车行业的供应链是及其复杂的,并且呈全球化分布,企业在知识产权方面的优势很可能是阶段性的。企业需要持续保持领先,将面临巨大的挑战,尽快地将产品推向市场是保持领先的唯一途径。然而,如果没有正确的方式去实现安全…

matlab 最小二乘拟合圆柱

目录 一、算法原理1、算法简介2、参考文献二、代码实现三、结果展示四、测试数据本文由CSDN点云侠原创,原文链接。如果你不是在点云侠的博客中看到该文章,那么此处便是不要脸的爬虫。 一、算法原理 1、算法简介 圆柱拟合步骤主要包括两步: 一是确定柱面模型参数初始值; 二是…

线性电压调节器的使用---MC7915BTG

MC7915BTG是一款固定输出负线性电压调节器。还提供了MECL系统中常用的一种额外电压选项。MC7915BTG线性电压调节器15V的固定输出电压,采用限流、热关闭和安全区域补偿,使其在大多数操作条件下都非常坚固。有了足够的散热,它们可以提供超过1.0…

关系数据库标准语言SQL

1.SQL概述 1.1基本表(Base table) 实际存储在数据库中的表SQL中一个关系就对应一个基本表基本表可以有若干个索引基本表的集合组成关系模式,即全局概念模式(数据的整体逻辑结构) 1.2 存储文件 存储文件和相关索引组…

LeetCode 热题 100 | 回溯(三)

目录 1 131. 分割回文串 2 51. N 皇后 菜鸟做题,语言是 C,感冒好了 ver. 1 131. 分割回文串 题眼:给你一个字符串 s,请你将 s 分割 成一些子串。 根据题眼可知,我们需要做的是将字符串 s 连续分割 为几段&#…

二、C#选择排序算法

简介 选择排序算法的基本思想是每一次从待排序的数据元素中选出最小(或最大)的一个元素,存放在序列的起始位置,然后,再从剩余未排序元素中继续寻找最小(大)元素,然后放到已排序序列…

Redis各场景应用集合

应用场景 1、缓存(Cache),分布式缓存 有一些存储于数据库中的数据会被频繁访问,如果频繁的访问数据库,数据库负载会升高,同时由于数据库IO比较慢,应用程序的响应会比较差。此时,如果引入Redis来…

面试笔记——Redis(使用场景、面临问题、缓存穿透)

Redis的使用场景 Redis(Remote Dictionary Server)是一个内存数据结构存储系统,它以快速、高效的特性闻名,并且它支持多种数据结构,包括字符串、哈希表、列表、集合、有序集合等。它主要用于以下场景: 缓…

java新手练习-类的继承调用(接口,抽象类,构造函数)和枚举定义方法

1.继承 父类可以调用子类实例对象,(对于调用抽象类必须使用继承) 模版 //抽象定义一个父类抽象类 abstract class FatherAbstract{void showFatherAbstract(String color, String name, int age, double serail_abstract){System.out.println("color " color &…

Java基础-lambda表达式

lambda表达式 前言前置知识λ小故事函数式编程起源: λ演算法 概念Lambda && 匿名类无参类型的简写带参函数的简写 简写的依据自定义函数接口lambda && 匿名类JVM层面区别匿名内部类实现Lambda表达式实现推论,this引用的意义 lambda && 集合Collection…

代码随想录阅读笔记-字符串【右旋字符串】

题目 字符串的右旋转操作是把字符串尾部的若干个字符转移到字符串的前面。给定一个字符串 s 和一个正整数 k,请编写一个函数,将字符串中的后面 k 个字符移到字符串的前面,实现字符串的右旋转操作。 例如,对于输入字符串 "a…

【STL源码剖析】【2、空间配置器——allocator】

文章目录 1、什么是空间配置器?1.1设计一个简单的空间配置器,JJ::allocator 2、具备次配置力( sub-allocation)的 SGI 空间配置器2.1 什么是次配置力2.2 SGI标准的空间配置器,std::allocator2.2 SGI特殊的空间配置器,std::alloc2.…

录视频的软件推荐,助力视频内容创作

随着网络技术的发展和在线教育的兴起,录制视频教程的需求日益增加。无论是制作教学课程、分享办公技巧,还是录制游戏过程,一款好用的录屏软件都至关重要。本文将深入介绍三款录视频的软件,帮助读者了解它们的特点和操作步骤&#…

OSPF外部路由及外部路由引入过程

OSPF自治域(同运行了OSPF协议的设备);O_ASE——代表OSPF的外部路由(优先级150);1类LSA除了描述本身的直连状态、还描述本身的设备角色。 ASBR——自治系统边界路由器;同种路由协议也可做路由引…

谁能成为OpenAI的现实竞争对手吗?

文 | BFT机器人 前言: 自从与ChatGPT一起出现以来,OpenAI一直主导着人工智能市场,但它仍处于早期阶段。人工智能的历史可以追溯到几十年之前。但2022年11月ChatGPT的发布使生成式人工智能 (GenAI) 成为人们关注的焦点。从那时起,…

汽车研发项目管理数字化平台之阀门管理

阀门管理,在汽车研发流程中占据着举足轻重的地位,是确保项目精细化、系统化的关键所在。这一机制的核心在于通过设立“阀门”来控制和管理研发流程中的关键节点,从而确保项目在质量、进度和资源等方面均符合预期目标。在汽车行业高度竞争和持…

学习网络编程No.14【数据链路层ARP理解】

引言: 北京时间:2024/3/14/9:20,简单聊一聊我的日常。昨天晚上十点左右更新完新的一篇文章,回到宿舍简简单单花了个两首歌的时间洗了个澡,然后为了保持形象吹了个头发,哈哈哈!当然对比以前的我…

Uniapp + SpringBoot 开发微信H5项目 微信公众号授权登录 JAVA后台(一、配置使用微信公众平台测试公众号)

申请测试号进行调试开发,测试号拥有大部分服务号有的接口权限。 一、接口配置信息填写校验 这里需要填写一个URL和一个Token验证字符串 我这里是用了natapp内网穿透 将本地的后台8080端口服务映射到了 http://x7zws8.natappfree.cc https://natapp.cn/在natapp官网…