Docker——常用镜像的安装 & 本地镜像推送发布到阿里云

本文涉及的产品
RDS MySQL DuckDB 分析主实例,基础系列 4核8GB
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
RDS AI 助手,专业版
简介: Docker——常用镜像的安装 & 本地镜像推送发布到阿里云

1.Docker常用镜像的安装


不知不觉Docker入门篇的学习已经有一个星期了,这是最后一篇关于Docker入门级别的文章,就来说说Docker中常用镜像的安装步骤;以及将本地镜像推送发布到阿里云平台


首先Docker常用镜像的安装主要是这几步:


1.    Docker Hub中搜索镜像:docker search

2.    拉取镜像到本机仓库:docker pull

3.    查看是否拉取成功:docker images

4.    以该镜像为模板生产容器实例运行:docker run

5.    停止容器实例的运行:docker stopdocker killexit

6.    移除容器:docker rmi


因为Docker最终肯定是要与Java对接的,所以这里演示常用镜像的安装包括:tomcatmysqlredistomcat前面几篇文章已经说过了,可以参考。


这里就来说一下Docker在本机上安装mysqlredis

首先我从Docker Hub上拉取了一个mysql5.7的镜像,docker images可以看到已经拉取成功。



下面直接docker run,以mysql5.7镜像为模板,创建mysql容器实例运行。

这里最后的参数 -d是后台启动mysql-p映射的宿主机连接mysql的端口号为12345--name对容器实例重命名,-v添加数据卷实现宿主机与docker容器实例的数据共享 + 持久化,-e指定一下连接权限密码,最后跟上我们要以哪个镜像为模板。



上面的截图中,docker ps看出mysql容器实例已经运行起来了。

下面docker exec再次进入mysql容器的终端命令行,就可以进行相关的sql语句操作了。


上面几张截图都是在dockermysql容器实例中,使用简单的sql语句建库、建表、新增、查询。

下面回到宿主机windows10,在Navicat中新建连接,连接到docker中的这个mysql容器,主机地址为虚拟机ip,端口号为 -p 对应的12345。连接成功后,可以看到刚刚已经创建好的databasetable,以及table中的数据。


上面的截图:然后我在宿主机上,向这张表中新增一条记录。

下面的截图:回到docker中的mysql容器,再次select,可以看到数据实现了同步。


上面的案例说完了dockermysql镜像的安装与操作。

下面来说redis镜像的安装与操作。

首先还是从Docker Hub上拉取redis,我这里选择了6.2.5这个版本。


这里的 -d 以守护式容器运行(即后台启动),-p映射端口号为6379-v添加数据卷实现宿主机与docker容器的数据共享 + 持久化,redis-server启动redis服务端,--appendonly yes表示开启redis中的AOF持久化模式。


这里还需要redis.conf的配置文件,可以拷贝之前学习redis中的那些文件。

因为上面的步骤是后台启动,这里需要docker exec再次进入redis容器,redis-cli表示redis客户端。


经过上面的keysset等命令,说明redis容器已经成功启动,之后shutdown退出redis,回到之前宿主机中实现数据共享 + 持久化的那个数据卷目录下,即可看到已经生成了appendonly.aof的持久化文件。

2.本地镜像推送发布到阿里云


这里以centos这个镜像为例。


首先我将本机仓库中的这个mycentos:1.0镜像启动,创建出一个对应的容器实例运行。


然后docker commitmycentos:1.0镜像生产出的该容器为模板,提交一个新的容器副本,使之成为一个新的镜像。镜像名称为 mycentos:1.1


下面我们转到阿里云的官网,搜索容器镜像服务,在镜像仓库中点击创建镜像仓库。


下面执行命令,就可以将本地镜像推送并发布到阿里云了。

 $ docker login --username=szh1310179**** registry.cn-hangzhou.aliyuncs.com
  $ docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/szhbuy/mycentos:[镜像版本号]
 $ docker push registry.cn-hangzhou.aliyuncs.com/szhbuy/mycentos:[镜像版本号]


以上三个命令执行完毕,回到阿里云,刷新页面即可看到刚刚推送过来的仓库了。


上面最后一个命令是docker push,将本地镜像推送到阿里云。那么能去自然能回,也就是说肯定还可以docker pull将该镜像从阿里云拉取到本地仓库。

即执行下面的docker pull命令。


docker images可以查看拉取是否成功,成功之后,最后我们 docker run -it以交互式容器的方式以此镜像为模板生产容器实例运行,并且进入到它的命令行终端,可以看到pwdls等命令正确无误。

此时,向阿里云推送发布、从阿里云拉取运行就已经全部完成了!!!

相关文章
|
7月前
|
弹性计算 关系型数据库 微服务
基于 Docker 与 Kubernetes(K3s)的微服务:阿里云生产环境扩容实践
在微服务架构中,如何实现“稳定扩容”与“成本可控”是企业面临的核心挑战。本文结合 Python FastAPI 微服务实战,详解如何基于阿里云基础设施,利用 Docker 封装服务、K3s 实现容器编排,构建生产级微服务架构。内容涵盖容器构建、集群部署、自动扩缩容、可观测性等关键环节,适配阿里云资源特性与服务生态,助力企业打造低成本、高可靠、易扩展的微服务解决方案。
2170 10
|
7月前
|
JavaScript Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
493 100
|
7月前
|
缓存 安全 Linux
优化Docker镜像大小的多阶段构建实践
优化Docker镜像大小的多阶段构建实践
475 99
|
7月前
|
缓存 Docker 容器
优化Docker镜像大小的五个实用技巧
优化Docker镜像大小的五个实用技巧
652 98
|
7月前
|
关系型数据库 数据库 PostgreSQL
docker 安装 Postgres 17.6
本文介绍如何通过Docker安装和配置PostgreSQL 17.6。内容包括拉取镜像、导出配置文件、运行容器并挂载数据与配置文件目录,以及进入容器使用psql操作数据库的完整步骤,便于持久化管理和自定义配置。
960 3
docker 安装 Postgres 17.6
|
6月前
|
NoSQL 算法 Redis
【Docker】(3)学习Docker中 镜像与容器数据卷、映射关系!手把手带你安装 MySql主从同步 和 Redis三主三从集群!并且进行主从切换与扩容操作,还有分析 哈希分区 等知识点!
Union文件系统(UnionFS)是一种**分层、轻量级并且高性能的文件系统**,它支持对文件系统的修改作为一次提交来一层层的叠加,同时可以将不同目录挂载到同一个虚拟文件系统下(unite several directories into a single virtual filesystem) Union 文件系统是 Docker 镜像的基础。 镜像可以通过分层来进行继承,基于基础镜像(没有父镜像),可以制作各种具体的应用镜像。
719 6
|
6月前
|
Java Linux 虚拟化
【Docker】(1)Docker的概述与架构,手把手带你安装Docker,云原生路上不可缺少的一门技术!
1. Docker简介 1.1 Docker是什么 为什么docker会出现? 假定您在开发一款平台项目,您的开发环境具有特定的配置。其他开发人员身处的环境配置也各有不同。 您正在开发的应用依赖于您当前的配置且还要依赖于某些配置文件。 您的企业还拥有标准化的测试和生产环境,且具有自身的配置和一系列支持文件。 **要求:**希望尽可能多在本地模拟这些环境而不产生重新创建服务器环境的开销 问题: 要如何确保应用能够在这些环境中运行和通过质量检测? 在部署过程中不出现令人头疼的版本、配置问题 无需重新编写代码和进行故障修复
535 2
|
7月前
|
Java Docker 容器
使用Docker多阶段构建优化镜像大小
使用Docker多阶段构建优化镜像大小
317 8
|
Ubuntu 网络安全 数据安全/隐私保护
百度搜索:蓝易云【docker通过dockerfile安装sftp教程。】
现在,你已经通过 Dockerfile 成功安装了 SFTP,并且可以使用指定的用户名和公钥进行远程访问。请确保替换示例中的用户名、密码和公钥为自己的实际值。
398 1