首页 > 其他分享 >Docker学习路线6:使用第三方镜像

Docker学习路线6:使用第三方镜像

时间:2023-07-15 09:44:49浏览次数:52  
标签:容器 交互式 使用 镜像 Docker 第三方

第三方镜像是在Docker Hub或其他容器注册表上提供的预构建Docker容器镜像。这些镜像由个人或组织创建和维护,可以作为您容器化应用程序的起点。

查找第三方镜像

Docker Hub 是最大和最受欢迎的容器镜像注册表,包含官方和社区维护的镜像。您可以根据名称或要使用的技术搜索镜像。

例如:如果您正在寻找一个 Node.js 镜像,您可以在Docker Hub上搜索“node”,您将找到官方Node.js镜像以及许多其他社区维护的镜像。

在Dockerfile中使用镜像

要在Dockerfile中使用第三方镜像,只需要使用 FROM 指令将镜像名称设置为基本镜像。以下是使用官方Node.js镜像的示例:

FROM node:14# The rest of your Dockerfile...

注意安全问题

请注意,第三方镜像可能存在安全漏洞或配置错误。在将其用于生产之前,始终验证镜像的来源并检查其声誉。最好使用官方镜像或维护良好的社区镜像。

维护您的镜像

使用第三方镜像时,保持其更新以包括最新的安全更新和依赖项更改至关重要。定期检查基本镜像的更新并相应地重建您的应用程序容器。

使用 Docker 创建交互式测试环境

Docker 允许您创建隔离、一次性的环境,测试完成后可以删除。这样可以更轻松地使用第三方软件、测试不同的依赖项或版本,以及快速实验,而不会损坏本地设置。

使用 Docker 创建交互式测试环境

为了演示如何设置交互式测试环境,让我们以 Python 编程语言为例。我们将使用在 Docker Hub 上可用的公共 Python 镜像。

  • 要使用 Python 镜像启动交互式测试环境,只需运行以下命令:
docker run -it --rm python

这里,-it 标志确保您在交互模式下使用 tty 运行容器,而 --rm 标志将在停止容器后删除容器。

  • 现在,您应该在容器内部的交互式 Python shell 中。您可以执行任何 Python 命令或使用 pip 安装其他软件包。
print("Hello, Docker!")

  • 完成交互式会话后,只需键入 exit() 或按 CTRL+D 退出容器即可。容器将按 rm 标志指定的方式自动删除。

更多交互式测试环境的示例

您可以使用 Docker Hub 上提供的多个第三方镜像,并创建各种交互式环境,例如:

  • Node.js:要启动交互式 Node.js shell,可以使用以下命令:
docker run -it --rm node

  • Ruby:要启动交互式 Ruby shell,可以使用以下命令:
docker run -it --rm ruby

  • MySQL:要启动临时 MySQL 实例,可以使用以下命令:
docker run -it --rm --name temp-mysql -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -p 3306:3306 mysql

这将启动一个临时 MySQL 服务器,可以通过主机端口 3306 访问。容器在停止后将被删除。

使用 Docker 来创建交互式测试环境,可以让您更高效、更干净地处理各种第三方软件,而不必担心损坏本地机器或安装不必要的依赖项。

命令行工具

Docker映像可以包含命令行实用程序或独立应用程序,我们可以在容器内运行它们。当使用第三方映像时,这样做非常有用,因为我们要使用的工具已经打包并可供运行,无需任何安装或配置。

BusyBox

BusyBox是一个小巧(1-2 Mb)且简单的命令行应用程序,提供了许多常用的Unix实用程序,例如 awkgrepvi等。要在Docker容器内运行BusyBox,您只需要拉取映像并使用Docker运行它:

docker pull busyboxdocker run -it busybox /bin/sh

进入容器后,您可以像在常规命令行上一样开始运行各种BusyBox实用程序。

cURL

cURL是一个众所周知的命令行工具,可用于使用各种网络协议传输数据。它经常用于测试API或从互联网下载文件。要在Docker容器内使用cURL,您可以使用Docker Hub上提供的官方cURL映像:

docker pull curlimages/curldocker run --rm curlimages/curl <https://example.com>

在此示例中,使用 --rm 标志在命令完成后删除容器。当您只需要运行单个命令然后清理容器时,这非常有用。

其他命令行实用程序

Docker映像中有许多命令行实用程序可用,包括但不限于:

  • wget:用于从Web下载文件的免费实用程序。
  • imagemagick:用于图像处理和转换的功能强大的软件套件。
  • jq:轻量级且灵活的命令行JSON处理器。

要使用其中任何一种工具,您可以在Docker Hub上搜索它们,然后按照其各自存储库中提供的说明进行操作。

总之,使用第三方Docker映像进行命令行实用程序可以节省时间,简化开发设置,并有助于确保在不同计算机上具有一致的环境。随着您扩展Docker的知识和使用,您可以尝试不同的工具和实用程序。

最后

为了方便其他设备和平台的小伙伴观看往期文章,链接奉上:

公众号 Let us Coding牛客知乎开源中国CSDN思否掘金InfoQ简书博客园慕课51CTOhelloworld腾讯开发者社区阿里开发者社区

看完如果觉得有帮助,欢迎点赞、收藏关注

标签:容器,交互式,使用,镜像,Docker,第三方
From: https://www.cnblogs.com/xiaowange/p/17555584.html

相关文章

  • DockerDeskTop系列---【启动DockerDeskTop时报错:Please try shutting WSL down (wsl
    DockerDeskTop安装完成后,无法启动报错信息如下:PleasetryshuttingWSLdown(wsl--shutdown)and/orrebootingyourcomputer.Ifnotsufficient,WSLmayneedtobereinstalledfully.Asalastresort,trytouninstall/reinstallDockerDesktop.解决方案:以管......
  • 在centos 7.9 系统docker上构建mysql 5.7
    1、拉取镜像[root@localhost~]#dockerpullmysql:5.7 2、查看镜像[root@localhost~]#dockerimages 3、根据镜像id构建mysql容器,且分配端口号[root@localhost~]#dockerrun-d-p3306:3306--namemysql-eMYSQL_ROOT_PASSWORD='OK'c20987f18b13命令说......
  • docker镜像和容器操作命令
    1、镜像操作1.1searchdockersearch<镜像名称>dockersearchhello-world在docker仓库搜索指定的镜像docker官网提供了一个页面,来进行搜索需要安装的软件的镜像的命令https://index.docker.io/search?q=&type=image通过输入不完全的镜像名称,可用得到相关的镜像列表......
  • docker使用
    1、介绍docker有三个重要概念,仓库Repository,镜像Image和容器Container。(1)容器一个容器对应一个可用的程序。可能是简单的程序,比如helloworld。也可能是知名的应用,比如mysql、tomcat。甚至可能是操作系统,比如linux。docker容器的运行与常规的运行类似,也会占用docker所在主机......
  • 在Docker上实战ElasticSearch以及与SpringBoot集成
    简介项目地址:https://gitee.com/charlinchenlin/wysmallElasticsearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTfulweb接口。Elasticsearch是用Java语言开发的,并作为Apache许可条款下的开放源码发布,是一种流行的企业级搜索引擎。Elastic......
  • docker容器
    1.docker简介通过内核虚拟技术,来提供资源隔离和安全保障。开源的应用容器引擎,go语言开发,源代码托管在githup,一次编译、到处运行。组成:server端和client端(C/S架构),server挂掉所有服务挂掉(弊端)Docker组件镜像(image):一个只读模板,可是完整的操作系统容器(container):启动的Lin......
  • linux samba docker
    dockerpulldperson/samba#bestpractice,orderisimportant!dockerrun-it--namesamba-p139:139-p445:445\-v/path/to/local/directory:/mount\-v/etc/localtime:/etc/localtime:ro\dperson/samba-p\......
  • 在centos 7.9 上构建docker
    1. 查看系统当前的内核信息[root@localhost~]#uname-r2.查看版本信息[root@localhost~]#cat/etc/os-release 3. 关闭防火墙[root@localhost~]##暂时关闭防火墙[root@localhost~]#systemctlstopfirewalld[root@localhost~]##永久关闭防火墙[roo......
  • Docker学习路线5:在 Docker 中实现数据持久化
    Docker可以运行隔离的容器,包括应用程序和其依赖项,与主机操作系统分离。默认情况下,容器是临时的,这意味着容器中存储的任何数据在终止后都将丢失。为了解决这个问题并在容器生命周期内保留数据,Docker提供了各种数据持久化方法。Docker卷绑定挂载Dockertmpfs挂载Docker卷......
  • 如何在win10系统主机中安装win10系统虚拟机(附win10镜像和VMware Station 15 Pro安装包
    win10虚拟机镜像:链接:https://pan.baidu.com/s/1duHTmR9ZHfRqwretY2IvHg提取码:6hi4VmwareStation15Pro安装包:链接:https://pan.baidu.com/s/1CiL8HcEAlYo-iyCrbkflpA提取码:ka9m 下载完后,安装VMwareStation。需要永久激活码的童鞋请参考:VMwareWorkstation15中文破解......