Docker 解决了企业的痛点:
快速的持续集成,服务的弹性伸缩,部署简单解放了运维,为企业节省了机器资源。
Docker是一个用来装应用的容器,就想被子可以装水,笔筒可以装笔,可以把hello world放在Docker当中,可以把网站放在Docker当中,可以把任何想得到的程序放在Docker当中
Docker:世界领先的软件容器化平台
Docker的标准化让快速扩展,弹性伸缩变的简单
docker解决了程序在开发环境和生产环境的运行不一致的问题,保证了程序在从开发环境移植到生产环境时,不会因为环境因素而运行失败。
Build-构建镜像 - 集装箱 - 镜像
Ship-运输镜像(从仓库和我们的主机上运输)- 码头 - 仓库
Run- 运行镜像(运行的镜像就是一个容器) - 运行程序的地方 - 容器
Docker运行过程:
去仓库把镜像拉倒本地,然后用一条命令把镜像运行起来变成容器!
Docker仓库
从本质上面来说,Docker就是一系列的文件,可以包括我们的应用的程序的文件,我们应用的环境的文件,Docker把这些文件保存在了本地,既然保存了,那么是以什么样的格式进行保存的呢?说到镜像的存储格式,就要说到linux的一个存储技术,叫做联合文件系统,Union FS,它是一种分层的文件系统,它可以将不同的目录挂到同一个虚拟的文件系统下面,通过这样一种方式,联合文件系统就可以实现文件的分成,比如test1可以看做是第一层,test2可以看做是第二层,每一层有每一层自己的文件,Docker镜像就是利用了这种分层的概念来实
docker的安装:
https://www.docker.com/products/docker-desktop
或者
daocloud
命令
docker pull ,build , run , stop, restart ,exec
docker pull nginx
docker run -d nginx (后台运行)
docker ps(查看docker进程)
docker exec --help
docker exec -it 7ab811911057 bash(进入image里)
如果image里ps返回“bash: ps: command not found”,运行“apt-get update && apt-get install procps”。
docker ps docker stop "id" docker run -d -p 8080:80 hub.c.163.com/library/nginx:latest 主机8080端口 映射到 docker容器 80端口 (-P 所有端口跟主机端口进行随机映射) netstat -na|grep 8080 docker stop "id"
制作镜像
制作 java WEB应用:
1.编辑 DockerFile(dockerFile是docke镜像的创建脚本文件,告诉docker按照文件里的流程去创建镜像)
DockerFile文件编辑流程格式:
1)、from tomcat (from tomcat是指创建的镜像继承自自己 指定的tomcat)
2)、MAINTAINER [姓名][联系方式] (创建镜像人的信息,可不写)
3)、copy [本地war包] [指定的tomcat/webapps/下]
例:copy dome.war /usr/local/tomcat/webapps
4)、给镜像起一个名称 (可以在docker命令创建)
2. docker build (docker build命令是执行这个file脚本文件的命令)
补:docker build -t REPOSITORY:TAG 给镜像指定一个名称和版本
docker 操作命令 --help 此命令是查询操作命令 帮助