首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com技术社区-IT企服评测·应用市场
»
论坛
›
软件与程序人生
›
后端开发
›
Java
›
Docker学习路线6:使用第三方镜像
返回列表
发新帖
Docker学习路线6:使用第三方镜像
[复制链接]
发表于 2023-7-15 09:33:58
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
第三方镜像是在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实用程序,例如
awk
,
grep
,
vi
等。要在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
,
简书
,
博客园
,
慕课
,
51CTO
,
helloworld
,
腾讯开发者社区
,
阿里开发者社区
看完如果觉得有帮助,欢迎
点赞、收藏
和
关注
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
继续阅读请点击广告
回复
使用道具
举报
返回列表
浏览过的版块
分布式数据库
悠扬随风
+ 我要发帖
×
登录参与点评抽奖,加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表