docker就是隔离式运行软件组(多个软件),docker分为dockerfile文件,images 镜像,容器,本地仓库,远程仓库。
ckerFile文件,可以获得images镜像
运行镜像获得容器
||
容器提交获得镜像
镜像push推送到远程仓库
远程仓库pull拉取到本地
镜像save推送到本地仓库
本地仓库load拉取镜像
我认为最流弊的还是它可以在你的设备上运行别的操作系统,通过从远程仓库拉取,然后运行,居然可以在多个系统来回切换,十分丝滑,流弊啊!!!
只要你的容器在某个地方能够运行,那么不管它是到了linux还是win,直接run,流畅得飞起。
在pull拉取镜像的时候,会发现,docker拉取了好几个镜像,这是为什么呢? 如图所示:
有这样一个场景:
docker中,有一个java程序,要想运行,就得有jdk,然后呢,又要有tomcat,还有mysql,再加上缓存的redis。所以,这个镜像就有java代码,jdk,tomcat,mysql,redis。5个镜像。
但是当我们docker run的时候,只用运行一个就ok了,所以docker使用了联合文件系统,将这写镜像组合起来。一起运行!
有的人又会说了,为什么redis明明就几MB,在docker中却几百MB呢?
要想在所有的地方运行,就得把可以运行的Centos发行版(基于linux内核的操作系统)或者其他发发行版一同下载。
运行dockerfile获得镜像:docker build -t test1:1.0 .
运行镜像获得容器: docker run --name 容器命 -d -p 真实的端口号:jar包端口号 镜像名:镜像版本号
关闭容器:docker stop 容器名
用docker ps查看容器名
端口无法kill,就要查找他的父端口,杀掉
cat /proc/子端口号/status
将镜像上传到阿里云中,再下载
删除镜像: docker rmi -f 镜像id。
拉取(在阿里云中有讲):容器镜像服务 (aliyun.com)
可以在电脑上搭建一个docker仓库,保证数据安全:Docker搭建本地仓库_龙Llong的博客-CSDN博客