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

1.Docker常用镜像的安装

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

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

  1. 从Docker Hub中搜索镜像:docker search
  2. 拉取镜像到本机仓库:docker pull
  3. 查看是否拉取成功:docker images
  4. 以该镜像为模板生产容器实例运行:docker run
  5. 停止容器实例的运行:docker stop、docker kill、exit
  6. 移除容器:docker rmi

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

这里就来说一下Docker在本机上安装mysql、redis。

首先我从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语句操作了。

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

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

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

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

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

下面来说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客户端。

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


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

这里以centos这个镜像为例。

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

然后docker commit以mycentos: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 以交互式容器的方式以此镜像为模板生产容器实例运行,并且进入到它的命令行终端,可以看到pwd、ls等命令正确无误。

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

评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

★★光亭★★

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值