4.镜像管理【Docker每天5分钟】
Docker给PaaS世界带来的“降维打击”,其实是提供了一种非常便利的打包机制。该机制打包了应用运行所需要的整个操作系统,从而保证了本地环境和云端环境的高度一致,避免了用户通过“试错”来匹配不同运行环境间差异的痛苦。
接下来来讲解Docker三大组件之一的镜像,如果说镜像是静态的只读文件,那么容器就是带有运行时需要的可写文件层。也可以这样理解,镜像是对象的模板——类,容器是类生成的对象,镜像只有一个,对象可以有很多个。
1.搜索镜像
docker search ubuntu //搜索镜像
2.拉取镜像
docker pull ubuntu:14.04 //NAME[:TAG],如果不加标签,默认是latest ; 先本地,后仓库[官方,私人] docker pull hub.c.163.com/pull/ubuntu:14.04
・配置加速器地址,记得配后重启
vi /etc/docker/daemon.json { "registry-mirrors": ["https://registry.docker-cn.com"] }
#重启
sudo service docker restart
3.查看镜像
docker images -a //查看本地的镜像
4.设置标签
docker tag f975 jackyfei/ubuntu:dev //给镜像打标签
5.启动容器并进入终端
docker run -itd image id //把镜像启动为容器,-i表示让容器以标准输入打开,-t表示分配个伪终端,-d表示后台启动
6.删除镜像
docker rmi ubuntu //后面的参数可以是tag,如果是tag,实际上是删除该tag。当后面的参数为镜像ID时,则会彻底删除整个镜像,所有标签也会一同删除。
7.构建镜像
vi Dockerfile //包含一组指令,Dockerfile规则 FROM jackyfei/ubuntu:dev MAINTAINER jackyfei "zfh@astop.com.cn" RUN /bin/echo 'root:123456' |chpasswd RUN useradd jackyfei RUN /bin/echo 'jackyfei:123456' |chpasswd RUN /bin/echo -e "LANG=\"en_US.UTF-8\"" >/etc/default/local EXPOSE 22 EXPOSE 80 CMD /usr/sbin/sshd -D docker build -t jackyfei/ubuntu:dev . //生成镜像
8.上传镜像
docker push NAME[:TAG] | [REGISTRY HOST : EGISTRY_PORT/INAME[:TAG]] //公共仓库 docker tag test:latest user/test:latest //打标签 docker push jackyfei/ubuntu:dev //上传 //私人仓库 7.1 docker pull registry //registry是docker官方镜像,用来创建本地的docker私有仓库 7.2 sudo docker run -d -p 5000:5000 -v /opt/data/registry:/tmp/registry registry //启动容器,冒号左边为宿主机端口,右边为容器端口 7.3 vi /etc/docker/daemon.json //修改配置为:{"insecure-registries":["172.16.0.245:5000"]} 7.4 systemctl restart docker //重启容器 7.5 docker tag ubuntu:16.04 172.16.0.245:5000/ubuntu //打标签 7.6 docker push 172.16.0.245:5000/ubuntu //推送到私有仓库 7.7 curl 172.16.0.245:5000/v2/_catalog //查看推送上来的镜像 7.8 docker pull 172.16.0.245:5000/ubuntu
如果对Docker有更深的洞察,欢迎补充和讨论,感谢您的捧场。
+
(^_^)打个赏喝个咖啡(^_^)

【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 没有源码,如何修改代码逻辑?
· 一个奇形怪状的面试题:Bean中的CHM要不要加volatile?
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· 微软正式发布.NET 10 Preview 1:开启下一代开发框架新篇章
· 没有源码,如何修改代码逻辑?
· DeepSeek R1 简明指南:架构、训练、本地部署及硬件要求
· NetPad:一个.NET开源、跨平台的C#编辑器
· PowerShell开发游戏 · 打蜜蜂