容器修改后的改动需要保存:
docker ps -l 获取新改之后的最新的容器id (正在运行的容器)
docker inspect efe(id) 容器的详细信息
docker commit 698(id) learn/ping 保存对应id的容器
docker镜像环境,每修改一次就会有一次容器的版本号更新,然后通过该id进行commiting就保存了新的镜像
docker push learn/ping 发布自己运行的镜像到官方注册中
查看安装包(查看一个软件安装时所有的安装包)
yum list installed | grep docker
Docker 镜像就是一个只读的模板。
例如:一个镜像可以包含一个完整的 centos操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。
镜像可以用来创建 Docker 容器。
镜像 包含 容器 在镜像中创建多个docker容器(镜像中的每一个容器相当于运行一个应用程序的一个vm)
仓库注册 》仓库 》镜像文件|通过tag区分
默认从docker官方下载镜像,不需要命名空间
仓库:集中存放仓库 先要注册,后登录下载(私有仓库)
docker下载数据库镜像运行后就用了数据库容器,在同一台机器下载其他应用/启动后就又有了一个容器
大名:版本别名
link就是容器直接互相通信的 --打通容器间的通信通道
指定容器的启动命令,每个Dockerfile只能有一条CMD命令,如果指定多条,只有最后一条会执行。
用户启动容器时指定运行命令,会覆盖掉Dockerfile中的CMD命令。
用dockerFile创建镜像每运行一个Dockerfile在基础镜像上加一层镜像,(可按层回复,调试)---在from的基础镜像上构建新的docker镜像
一般用这个dockerFile创建镜像的时候就是打包了基础镜像+程序所有需要的中间件容器---即可随时移植部署的成品镜像
包含基础镜像,requiredment.txt 应用程序
docker build -t web . 就用文件创建了成品镜像
DockerCompose---dockerFile组合所有需要的容器后这些容器的启动
一个服务是一个容器
定义所有需要部署的对象,各个对象之间的关系,执行顺序,文件存储位置,验证成功方式
场景:redis容器,tomcat容器,nginx容器,mysql容器,这4个容器的启动是有顺序性的,docker compose就是为了组合启动的,而不是手动来启动。
docker-compose.yml定义dockerfile中需要启动的容器,他们的端口,启动依赖关系
docker-compose up -d(后台启动)
docker swarm 集群管理工具
为了处理只有一台机器的时候,用docker-machine的时候 init manager的同时也生成了一个worker的token
创建doker虚拟机方式:
1,vagrant 创建的虚拟机有docker容器(docker虚拟机)
2,docker-machinal
这两种创建虚拟机的方式都自动带有docker
docker 一个个独立的运行环境---在一个大的服务器上
image---相应软件的数据文件---操作系统镜像(基础镜像),apache,应用程序等软件的镜像,这些镜像可以构成新的组合镜像打包,镜像之间可以通信---类
container---操作系统。一个镜像可以有多个操作系统,一个镜像可以启动多个操作系统---类的对象,一个类多个实例对象即多个容器
通过Image创建的
在Image layer之上建立(实例化)一个container layer(可读写)
类比面向对象,类和实例,容器就是实例,Image就是类
Image负责application的存储和分发(操作系统软件的代码文件)--类,Container(操作系统,软件的实例---可运行)具有实际功能的对象负责运行app
向容器中增加文件,解压文件 ADD and COPY
ENTRTYPOINT 容器启动时运行的命令
CMD 设置容器启动后默认执行的命令和参数
Dockerfile 制造镜像的文件(运行一次创建一层镜像)
DockerCompose 实例化文件中的所有涉及的镜像生成容器对象并运行的文件(组合镜像???)
docker build 建立新的镜像(用dockerFile文件)
将Dockerfile通过的build变成了dockerImage,然后通过run方法,Image转换成了container
docker run 实例化运行镜像对象---容器
docker exec -it c62d9d554853 /bin/bash 进入运行中的容器
docker container start c62d9d554 启动容器
相关推荐
本书概述: Docker在国内的发展如火如荼,短短一两年时间里就陆续出现了一批关于Docker的...本书不仅适合一般的Docker用户,也适合 Docker 生态圈中的开发者,希望它可以成为一本 Docker 进阶的图书,帮助读者快速提升。
云原生Docker和K8S 02-Docker进阶 本资源主要讲解了如何使用Jenkins和Docker进行自动化构建和部署,涵盖了从连接服务器到安装Jenkins和Docker的所有步骤。以下是本资源的知识点总结: 1. 连接服务器:使用ssh命令...
华为技术专家写的Docker,文档清晰明了,知识技能比较靠前
【狂神说各种学习视频配套笔记】是一套全面覆盖了多个IT技术领域的学习资源,旨在帮助初学者和进阶者提升编程技能。这套笔记包含了Java基础、前端开发、数据库管理、Web框架、分布式系统以及开发工具等多个方面,...
docker 和 docker compose 安装使用、入门进阶案例 从给定的文件信息中,我们可以提炼出以下知识点: 一、docker 和容器化时代 * 容器化时代的到来,云原生技术的兴起,对 Java 开发者的影响 * docker 的兴起和...
针对Docker的知识体系,无需再查找任何其它资料。真正做到一课在手,无需它求。 1.深度剖析了Windows的Hyper-V虚拟化原理、Docker引擎的现代架构体系、多架构镜像原理。 2.通过实例全面讲解了Dockerfile指令 3.深度...
【完整版15章】Kubernetes 入门到进阶实战,系统性掌握 K8s 生产实践(2021最新课程),课程从0开始,系统性掌握 K8s 知识体系及落地实践,基础知识+原理解析+实战贯穿,极度友好的 K8s 学习路径,全程项目贯穿,...
《Java工程师进阶知识完全扫盲》是一份全面的学习资源,旨在帮助Java开发者深化技能,提升职业素养。这个学习资源的目录广泛而深入,涵盖了Java技术的各个方面,为那些希望在Java开发领域取得突破的工程师提供了宝贵...
Docker近几年非常火,因为它是容器虚拟化,更能够充分提高硬件资源的使用率。其实利用率高不算什么,它最大的优势是能给让运维人员或者开发人员快速部署和交付资源,大大提高了工作效率。 本课程以通俗易懂的方式...
主要事关于nginx基础,配置,反向代理,负载均衡,日志解析等等知识点。docker方面是镜像管理,容器管理,仓库管理,数据管理,网络管理等等方面,以及进阶知识点,dockerfile,以及最后的项目的部署。
│ │ Day 4 容器进阶之kubernetes基础知识介绍_学习材料.pdf │ │ Day 4 容器进阶之kubernetes基础知识介绍_操作指导.pdf │ │ Day4 容器进阶之kubernetes之基础知识介绍.mp4 │ │ Day4 容器进阶之kubernetes...
标准库与第三方库三.Python进阶1.PyCharm集成开发环境2.面向对象基础3.本周内容串讲,互动答疑4.日志记录的用法5.unittest的测试框架6.基于线程的并发编程7.基于多进程的并发编程8.基于协程的并发编程9.本周内容串讲...
本教程旨在为Java工程师提供全面的进阶知识,帮助他们提升在高并发、分布式、高可用、微服务以及海量数据处理等关键领域的专业技能。 1. **高并发处理**: 高并发是互联网应用的常态,Java工程师需要理解线程池的...
内容概要:本文详细介绍了 Docker 的网络和存储技术。...阅读建议:本资源全面涵盖了 Docker 网络和存储的基础与进阶知识,推荐读者逐步深入学习,并结合实际操作实践,以便更好地理解和运用相关内容。
通过深入学习并实践这些知识,你可以更好地应对高并发、大数据量和分布式场景下的问题,从而提升自己的专业素养和市场竞争力。同时,持续关注新技术的发展,如Kubernetes、Docker等容器技术,将有助于保持在IT行业的...
资源中还包括了官方文档链接、精选视频课程、实战书籍推荐及活跃社区论坛,确保学习者能获取最新、最权威的知识,并在遇到问题时能够快速获得解决方案。无论是寻求快速入门的新手,还是希望深化理解并提升技能的进阶...
在Java进阶学习中,你需要掌握以下几个关键的知识点: 1. 高级数据结构与算法:理解并能熟练运用ArrayList、LinkedList、HashMap等集合框架,深入研究Set、Queue、Stack等接口及其实现类。同时,学习并应用高级排序...