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这个版本。
docker打包镜像
这⾥的 -d 以守护式容器运⾏(即后台启动),-p映射端⼝号为6379,-v添加数据卷实现宿主机与docker容器的数据共享 + 持久化,redis-server启动redis服务端,--appendonly yes表⽰开启redis中的AOF持久化模式。
这⾥还需要f的配置⽂件,可以拷贝之前学习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-hangzhou.aliyuncs
$ docker tag [ImageId] registry-hangzhou.aliyuncs/szhbuy/mycentos:[镜像版本号] $ docker push registry-hangzhou.aliyuncs/szhbuy/mycentos:[镜像版本号]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。