Docker【docker使用】

news2024/9/22 13:38:09

文章目录

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


前言

上一篇文章讲了docker的安装,本片文章我们来聊聊docker的一些常用操作。以及镜像、容器之间的关系
如果你想更加系统的学习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 -t 镜像名:tag url
url:指定Docker构建上下文的路径,它决定dockerfile中COPY、ADD执行的相对路径,一般都是进入dockerfile文件的同级目录后,然后设置为.
docker build -t image1:1.0.0 .

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 -d mybusybox # -d:后台运行
exec…-it…sh | /bin/bash进入容器内部 -t:表示打开一个伪终端;-i :即使没有附加也保持STDIN 打开
在命令的最后加一个sh/bin/bash来启动一个交互式shell
/bin/bash:功能更强 sh:兼容性更好
docker exec -it mybusybox sh
start启动容器docker start mybusybox
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.coloradmin.cn/o/1536755.html

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

相关文章

蓝桥杯(3.21 刷真题)

P8682 [蓝桥杯 2019 省 B] 等差数列 import java.util.Arrays; import java.util.Scanner; public class Main {public static void main(String[] args) {Scanner sc new Scanner(System.in);int n sc.nextInt();int[] res new int[n1];for(int i1;i<n;i)res[i] sc.ne…

elasticsearch的数据搜索

DSL查询文档 elasticsearch的查询依然是基于JSON风格的DSL来实现的。 Elasticsearch提供了基于JSON的DSL(Domain Specific Language)来定义查询。常见的查询类型包括: 查询所有:查询出所有数据,一般测试用。例如:match_all 全文检索(full text)查询:利用分词器对用户…

虚拟直播赋能文旅,蓝海创意云亮相文旅虚拟现实应用推广交流活动

3月21日&#xff0c;由文化和旅游部产业发展司主办&#xff0c;中国信息通信研究院、北京市石景山区文化和旅游局、中国动漫集团有限公司承办的文化和旅游虚拟现实应用推广交流活动在首钢一高炉SoReal科幻乐园33 Meta Club举办。蓝海创意云应邀参与此次活动&#xff0c;携vLive…

ON1 NoNoise AI 2024 for mac v18.2 中文版 ai摄影

ON1 NoNoise AI 2024 for mac一款去除图像噪点的应用&#xff0c;特别对于摄影师来说&#xff0c;它是比较专业的摄影降噪软件。 软件下载&#xff1a;ON1 NoNoise AI 2024 for mac v18.2 中文版下载 智能降噪&#xff1a;利用先进的机器学习技术&#xff0c;ON1 NoNoise AI 20…

第5讲-MIPS(3)汇编语言

三、MIPs汇编语言(自学) 1.概述

taro之Picker,PickerView基础用法

1.Picker 直接上代码 import Taro,{Component} from "tarojs/taro"; import {View,Picker} from tarojs/components import { AtIcon } from taro-ui import { putKey } from /src/utils/storage-utilsclass AgriculturePolicy extends Component{constructor (prop…

部署Zabbix Agents添加使能监测服务器_Linux平台_Yum源/Archive多模式

Linux平台 一、从yum源脚本安装部署Zabbix-Agent,添加Linux Servers/PC 概述 Zabbix 主要有以下几个组件组成: Zabbix Server:Zabbix 服务端,Zabbix的核心组件,它负责接收监控数据并触发告警,还负责将监控数据持久化到数据库中。 Zabbix Agent:Zabbix客户端,部署在被监…

【综述】二维半导体和晶体管在集成电路未来应用

一篇关于二维半导体和晶体管在集成电路未来应用的综述文章。 文章由Lei Yin、Ruiqing Cheng、Jiahui Ding、Jian Jiang、Yutang Hou、Xiaoqiang Feng、Yao Wen和Jun He*共同撰写&#xff0c;发表在《ACS Nano》2024年第18卷上。 Figure 1: CMOS晶体管的演变 描述了CMOS晶体管…

8 克隆虚拟机

后期集群我们需要使用多台服务器&#xff0c;此处我们先克隆三台&#xff0c;master,slave01,slave02. 1.先关闭模版虚拟机。再选择 模版虚拟机hadoop100右击--》管理 --》克隆 2.下图中特别注意&#xff1a;建议使用集群的名字作为虚拟机名称。目前克隆主机master. 以上步骤完…

全域电商数据实现高效稳定大批量采集♀

全域电商&#xff0c;是近几年的新趋势&#xff0c;几乎所有商家都在布局全域&#xff0c;追求全域增长。但商家发现&#xff0c;随着投入成本的上涨&#xff0c;利润却没有增加。 其中最为突出的是——商家为保证全域数据的及时更新&#xff0c;通过堆人头的方式完成每日取数任…

怎么自己打印物流货运单,物流打印定制软件

怎么自己打印物流货运单&#xff0c;物流打印定制软件 一、前言 以下软件操作教程以 佳易王物流单打印登记查询系统V17.0为例说明 件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 1、物流货运单打印有两种模式 一个是直接打印&#xff0c;可以在空白纸上…

Matlab与高光谱遥感:环境监测的新时代

光谱和图像是人们观察世界的两种方式&#xff0c;高光谱遥感通过“图谱合一”的技术创新将两者结合起来&#xff0c;大大提高了人们对客观世界的认知能力&#xff0c;本来在宽波段遥感中不可探测的物质&#xff0c;在高光谱遥感中能被探测。以高光谱遥感为核心&#xff0c;构建…

docker 配置国内阿里镜像源

在/etc/docker/目录下新建daemon.json文件 在文件中写入 {"registry-mirrors": ["https://jmphwhtw.mirror.aliyuncs.com"] } 以管理员身份运行命令 systemctl daemon-reload systemctl restart docker

JetPack之DataBinding基础使用

目录 一、简介二、使用2.1 使用环境2.2 xml文件绑定数据2.3 数据绑定的对象2.3.1 object2.3.2 ObseravbleField2.3.3 ObseravbleCollection 2.4 绑定数据 三、应用场景 一、简介 DataBinding是谷歌15年推出的library,DataBinding支持双向绑定&#xff0c;能大大减少绑定app逻辑…

【Algorithms 4】算法(第4版)学习笔记 20 - 5.1 字符串排序

文章目录 前言参考目录学习笔记1&#xff1a;Java 字符串1.1&#xff1a;字符串数字类型2&#xff1a;键索引计数法 key-indexed counting2.1&#xff1a;排序算法回顾2.2&#xff1a;关于 key 的假设2.3&#xff1a;demo 演示2.4&#xff1a;分析3&#xff1a;低位优先基数排序…

全球首个Open机器人诞生!当GPT模型有了“肉体”,不仅能听能写还可以干家务!

世界上第一个「ChatGPT机器人」来了&#xff01;近期&#xff0c;初创公司美国机器人创业公司Figure发布首个基于OpenAI多模态大模型的人型机器人Figure 01。现在直接给LLM造了个身体&#xff0c;具体来说是个OpenAI训练的多模态大模型。 Figure AI发布了一段引人注目的视频&…

计算机硕士,毕业直接后端开发岗,选择C++还是java?

我自己是一名工作多年的C程序员&#xff0c;大学学习的编程语言就是C/C&#xff0c;参加工作后自学了Python、Java、Golang等语言。 现在从事自动驾驶行业的工作&#xff0c;工作中主要使用的编程语言是C和Python。在开始前我有一些资料&#xff0c;是我根据网友给的问题精心整…

外包干了15天,技术退步明显。。。。。

先说一下自己的情况&#xff0c;本科生&#xff0c;2019年我通过校招踏入了南京一家软件公司&#xff0c;开始了我的职业生涯。那时的我&#xff0c;满怀热血和憧憬&#xff0c;期待着在这个行业中闯出一片天地。然而&#xff0c;随着时间的推移&#xff0c;我发现自己逐渐陷入…

力扣热门算法题 59. 螺旋矩阵 II,60. 排列序列,61. 旋转链表

59. 螺旋矩阵 II&#xff0c;60. 排列序列&#xff0c;61. 旋转链表&#xff0c;每题做详细思路梳理&#xff0c;配套Python&Java双语代码&#xff0c; 2024.03.21 可通过leetcode所有测试用例。 目录 59. 螺旋矩阵 II 解题思路 完整代码 Java Python 60. 排列序列 …

蓝桥杯:模拟、枚举

目录 引言一、修剪灌木二、特殊年份三、刷题统计四、日期问题五、六、七、八、九、 引言 本篇文章主要介绍蓝桥杯的模拟和枚举的题目&#xff0c;这种题在 B B B 组还是比较简单的&#xff0c;后续也会一直往里加新的真题&#xff0c;加油&#xff01; 一、修剪灌木 标签&am…