docker如何查询镜像版本信息

 更新时间:2023年03月07日 09:07:39   作者:kaili230  
这篇文章主要介绍了docker如何查询镜像版本信息问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

docker查询镜像版本信息

1. 官网查询

访问https://hub.docker.com/搜索mysql

选择第一个,然后点击tag

2. curl 访问url

docker search mysql

curl https://registry.hub.docker.com/v1/repositories/mysql/tags\
| tr -d '[\[\]" ]' | tr '}' '\n'\
| awk -F: -v image='mysql' '{if(NR!=NF && $3 != ""){printf("%s:%s\n",image,$3)}}'
 

什么是docker

Docker 是一个开源的应用容器引擎,是虚拟化的一种轻量级替代技术。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

容器是完全使用沙箱机制,相互之间不会有任何接口,开销很低。docker解决了服务器昂贵的问题,生产环境和测试环境不一致的问题。

什么要使用docker而不使用虚拟机

1).虚拟机的缺点

(1).资源占用多:虚拟机运行需要大量的内存、硬盘和CPU,而且是独占这些资源

(2).启动慢:虚拟机也是个操作系统,启动很慢

2).docker优点

(1).体积小、占用资源少

(2).启动快:docker是个容器,是个进程,既然是进程所以启动比虚拟机(操作系统)快

(3).进程隔离:在一台服务器上可以部署多个docker容器,而且互不干扰

(4).迁移轻松:docker可以制作镜像进行迁移,非常容易

docker有什么用

1).搭建微服务环境:一个服务器可以安装多个容器,实现微服务,并且降低服务器成本

2).降低服务器成本:在少量的服务器上可以通过docker安装多个容器,不用购买多个服务器

3).提供一次性的环境:docker可以将运行项目所需要的资源、环境全部集中打包在一个镜像内,无需再去配置搭建项目运行所需要的资源和环境(无需重复配置),有利于测试、开发和部署

docker基本概念

1).image(镜像):Docker 镜像可以看作是一个特殊的文件系统,提供了容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(环境变量、端口等),但是镜像在构建之后就不会被改变。

2).Container(容器):Docker 容器是一个开源的应用容器引擎,让开发者可以以统一的方式打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何安装了docker引擎的服务器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口(类似 iPhone 的 app)。几乎没有性能开销,可以很容易地在机器和数据中心中运行。

3).Dockerfile :Dockerfile是一个指令的集合文件,可以利用Dockerfile 制作一个镜像

docker基本命令

1).查询镜像

docker search 镜像名称

2).拉取镜像

docker pull 镜像名称

3).启动容器(以tomcat作为实例)

docker run -d --name fist_tomcat --privileged=true -e TZ="Asia/Shanghai" -v /etc/localtime:/etc/localtime -p 8081:8080 docker.io/tomcat
  • -d 表示以“守护模式”执行/root/run.sh脚本,此时 Tomcat 控制台不会出现在输出终端上。
  • -p 表示宿主机(8081)与容器的端口映射(8080,Tomcat容器固定的端口为8080,必须映射到8080)
  • –name 表示容器名称,用一个有意义的名称命名即可。
  • -v 表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>
  • -e 运行上海时区格式
  • –privileged=true 开启特权,可以设置容器里的内核参数
  • -e TZ=“Asia/Shanghai” -v /etc/localtime:/etc/localtime都是用来解决容器时区的问题

Dockerfile 基本命令

1).FROM 基础惊喜:基于那个镜像作为基础去构建新的镜像

2).COPY 源文件 目标目录:复制指令,从上下文目录中复制文件或者目录到容器里指定路径

3).ADD 源文件 目标目录:和COPY基本一样,但是ADD会自动解压压缩包

4).RUN:执行命令

5).CMD:执行命令(和RUN类似,但二者运行的时间点不同,CMD 在docker run 时运行,RUN 是在 docker build)

 (1).注意:在执行docker run命令后,CMD命令指定的程序会被docker run后面的程序所覆盖

 (2).注意:如果 Dockerfile 中如果存在多个 CMD 指令,仅最后一个生效

6).ENTRYPOINT:类似于CMD,但是ENTRYPOINT的指令参数不会被docker run后面的指令所覆盖

7).ENV:设置环境变量

8).VOLUME 系统目录 docker目录:挂载目录,类似于-V

9).EXPOSE 8080:声明端口

10).WORKDIR:类似于cd命令,进入那个文件夹

运行Dockerfile命令:

docker build -t 容器名称:版本 .

.是上下文路径,也就是dockerFile所在的目录 

docker build -t tomcat:v1.3 .

Dockerfile示例

FROM tomcat:8.5.38-jre8

ARG JAR_PATH=./target
#1.删除ROOT文件夹,避免war包不解压,[2,3]指定时区
RUN rm -rf /usr/local/tomcat/webapps/ROOT \
 && /bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime \
 && echo 'Asia/Shanghai' >/etc/timezone

ADD ${JAR_PATH}/*.war /usr/local/tomcat/webapps/ROOT.war

CMD ["/usr/local/tomcat/bin/catalina.sh", "run"]

EXPOSE 8080

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • Docker构建文件Dockerfile简单入门

    Docker构建文件Dockerfile简单入门

    这篇文章主要介绍了Docker构建文件Dockerfile简单入门,需要的朋友可以参考下
    2022-04-04
  • docker-compose教程之安装使用和快速入门

    docker-compose教程之安装使用和快速入门

    这篇文章主要介绍了docker-compose教程之安装使用和快速入门,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-01-01
  • 关于docker清理Overlay2占用磁盘空间的问题(亲测有效)

    关于docker清理Overlay2占用磁盘空间的问题(亲测有效)

    使用Docker过程中,长时间运行服务容器,导致不能进行上传文件等操作,今天通过本文给大家详细介绍下docker清理Overlay2占用磁盘空间的相关知识,感兴趣的朋友一起看看吧
    2022-03-03
  • 给docker配置指定ip的超详细图解

    给docker配置指定ip的超详细图解

    这篇文章主要给大家介绍了关于给docker配置指定ip的超详细图解教程,Docker容器的IP地址由Docker守护进程动态分配,默认情况下,它使用的是宿主机的IP地址,但是在某些情况下,您可能需要为Docker容器指定静态IP地址,需要的朋友可以参考下
    2023-09-09
  • 使用Docker安装部署MySQL和Redis的详细过程

    使用Docker安装部署MySQL和Redis的详细过程

    这篇文章主要介绍了使用Docker安装部署MySQL和Redis,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-06-06
  • 详解docker容器硬盘动态扩容

    详解docker容器硬盘动态扩容

    本篇文章主要介绍了详解docker容器硬盘动态扩容,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • docker可视化工具Portainer部署并汉化的操作

    docker可视化工具Portainer部署并汉化的操作

    这篇文章主要介绍了docker可视化工具Portainer部署并汉化的操作,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-03-03
  • Centos7下安装Docker Engine

    Centos7下安装Docker Engine

    这篇文章主要介绍了Centos7下安装Docker Engine的相关资料,非常不错,具有参考借鉴价值,需要的朋友参考下
    2016-12-12
  • 解决Docker中的error during connect异常情况

    解决Docker中的error during connect异常情况

    这篇文章主要介绍了解决Docker中的error during connect异常情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-11-11
  • 开启Docker的TCP通信端口方式

    开启Docker的TCP通信端口方式

    这篇文章主要介绍了开启Docker的TCP通信端口方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2023-08-08

最新评论