“面对脆弱的玩笑”
悉知Docker镜像仓库的命令后,我们总得将这些命令使用起来,在实践中深刻理解执行这些命令的实际效果。
综合实战1: 搭建一个Nginx服务
至于Nginx是什么,我想在这一篇中已经有过讲解: Nignx服务,也并非本篇要详解的。以往部署Nginx服务都是在宿主机上,后台运行的。现在,我们的需求是在Docker容器中,运行Nginx服务。
拉取Nginx镜像:
我们首先打开docker hub网站,从这个最大的镜像仓库中,随意找一个Nginx版本。我们也可以在官网得到拉取Nginx镜像的命令。
执行命令,拉取镜像:
除了使用 镜像名称:tag 拉取镜像外,还可以使用DIGEST拉取镜像:
docker pull
DIGEST:sha256:96b6ce30290e601e7d419d598427e5ddbfa2c4f97aa5d05c6a5e5cf3dc5f819b
运行Nginx镜像:
docker run --name nginx1 --rm -it -p Port:port(80:80) 镜像名称:tag(nginx:1.24.0) bash
OPTIONS:
--name: 起别名
--rm: 容器退出时自动删除
-it: 分配终端并可以交互
-p: 指定端口映射
bash: 启动时运行 bash
docker端口映射问题:
docker有一套自己的端口映射,所以当我们想要通过宿主机访问到docker内部的端口号时,通常需要建立映射:
因为宿主机已经存在了Nginx进程占用了80号端口,所以宿主机需要另起一个新的端口映射到docker内部的80号端口。
当我们运行完镜像后,就会新起一个bash进程出现在终端上,我们可以执行 cat/etc/*release*用来检测当前操作系统版本:
启动Nginx服务:
任务完成了吗?当然没有!我们仅仅时启用了docker容器,该容器为我们模拟了另外一套操作系统,但上面部署的Nginx服务是没有启动的:
我们启动Nginx服务后,通过本地回环测试,可以得到首页的html。
综合实战2: 利用阿里云创建自己的私有仓库
我们可以在docker hub、腾讯云等云厂商创建用户,建立自己的私有仓库,本篇就简单演示在阿里云上创建自己的镜像仓库。
选择容器镜像服务;
选择管理控制台;
再选择个人版实例;
进入个人镜像仓库后,首先就需要设置密码;
选择本地仓库,以支持我们使用docker push、pull等本地命令;
进入镜像仓库后,会提供一份使用手册:
登录login
推送镜像
要想推送镜像,需要分两步:
🎁 使用docker tag给镜像打标签
🎁 使用docker pull 将镜像推送
最终,我们可以在这个镜像仓库中,找到推送到私有仓库的镜像信息:
退出login
本篇到此结束,感谢你的阅读。
祝你好运,向阳而生~