0.启动停止docker服务:
service docker start
service docker stop
1.查看docke镜像文件:docker images
2.拉取(下载)镜像文件:
docker pull hello-world (hello-world镜像文件名) /** note: ----------配置阿里云镜像加速器:自行百度 */
3.docker pull 下来的命令都默认存在 /var/lib/docker/文件夹下
4.镜像命令:
列出所有镜像 : docker images -a
搜索docker镜像 : docker search openjdk (第一个是官方版) docker search -s 3 openjdk 列出前3的
移除镜像: docker rmi hello-world 强制(单个镜像)删除 docker rmi -f hello-world -f 镜像id
5.容器命令:
启动容器: docker run <参数> image <command>
参数说明 -d 后台运行容器
-i 以交互式运行容器(结合t)
-t 为容器重新分配输入一个伪输入终端
-P 随机端口映射
-p 指定端口映射
例子: docker run -it --name mycentos centos centos也可是换成id号-------以该镜像实例化一个对象
进入容器的后台:docker exec -it 67f490500a02 /bin/bash 67f490500a02是容器的id号
exit ---------------关闭该容器并退出
1.查看docker运行的镜像有那些:
2.查看历史: -a 所有历史, -l 上一次的 -lq只显示容器编号 -n 2 列出前两条
启动容器: docker start <镜像名| ID> docker restart <镜像名| id>
停止容器 docker stop <镜像名| ID> docker kill <镜像名| ID> 暴力停止
移除容器: docker rm -f <镜像名| ID> 强删 docker rm <镜像名| ID> 删除没有运行的
6.镜像UnionFS【联合文件系统---------------docker的底层实现原理】 镜像不是搬家----------他是搬楼。-------------linux内核运行流程差不多。
容器:+docker
集装箱 | --------------tomcat
底层环境 | ---------------------------jdk8
| -------------------------centos
| -------------------------kernel
|--------------nginx
底层环境在集装箱层可以共享。
启动tomcat:
新开一个终端:
7.自己提交创建镜像:
docker commit -a='lmj_authorName' -m="tomcat with doc by dim_Commit_Info" 8c4f02fa6555 lmj/mytomcat1.2
[-a 创建者姓名,-m提交信息, 8c4f02fa6555容器id号, lmj/mytomcat1.2自制镜像的名字]
删除正在运行的镜像程序:
docker rm -f $(docker ps -q)
启动刚才自己制作的镜像:
docker run -it -p 7777:8080 lmj/mytomcat1.2
浏览器运行:
-it是前台启动,会再控制台打印诸多详情信息;
-d 后台启动: docker run -d -p 6666:8080 tomcat
8.docker容器数据卷:
docker运行的数据的持久化技术,将本次所有运行产生的临时信息保存到磁盘,永久备份(且数据共享)
docker run -it -v /宿主机绝对路径目录:/容器内目录 镜像名
1. docker run -it -v /myDataVolume:/dataVolumeContainer centos -------------------docker与主机达成协议,实现文件共享。主机是个u盘,插到了docker上,并从docker主机上拷贝centos镜像(应用)运行产生的数据【备注:/是根目录,主机和docker根目录下如果没有该文件会自动创建】
2.docker inspect centos inspect检查命令,检测数据卷是否挂载成功
运行结果:
只要有一端开着数据就永远同步的(即使一端已经关了)
容器内目录只读: docker run -it -v /myDataVolume:/dataVolumeContainer:ro centos -----------ro read only
实例2继承实例1: docker run -it --name exple2 --volumes -from exple1 centos
9.DockerFile解析:
maven build
jar
java -jar ms.....
类比:
编写dockerfile ------------> dockerbuild 获得自定义镜像 -----------> run
1.规则: 保留字大写(指令,操作)+参数(操作数)
Dockerfile------------<build>------------------Docker镜像---------------<run>------------Docker容器【镜像+进程】