一、运行环境
系统:Centos7 、Maven3.5.4 、jdk1.8.0_111、docker1.13.1、git1.8.3.1
二、docker配置私有镜像库(非必须,但是企业项目必然会用私有镜像库)
三、操作步骤
(一)、创建docker镜像
1、采用Dockerfile文件创建镜像:
(1)、编写Dockerfile文件;
(2)、mvn clean;mvn install -DskipTests
(3)、docker build -t [镜像名]:[版本号] . 例如:docker build -t docker.yu.com/yutest/servmcr:v1.0.0 . 注意:后面的 "."这个小 数点是指定的当前目录(可写为绝对路径)作用是为了检索Dockerfile文件
2、创建docker容器并启用的两种方式
(1)、a、使用create创建容器: docker create -it [镜像名]:[版本号] 例如:docker create -it docker.yu.com/yutest/servmcr:v1.0.0
docker create命令新建的容器处于停止转态,
b、可以使用docker start命令来启动
(2)、使用run创建容器:docker run --name [容器名] -it -p [服务器映射端口]:[容器暴露端口] [镜像名]:[版本号] /bin/bash 例如:docker run --name servmcr -it -p 8081:8080 docker.yu.com/yutest/servmcr:v1.0.0 /bin/bash(相当于create+start)
- 检查本地是否存在指定的镜像,不存在则从公有仓库下载
- 使用镜像创建并启动容器
- 分配一个文件系统,并在只读的镜像层外面挂载一层可读可写层
- 从宿主主机配置的网桥接口中桥接一个虚拟接口道容器中去
- 从地址池分配一个ip地址给容器
- 执行用户指定的应用程序
- 执行完毕之后容器被终止
(二)、终止docker容器
1、第一种:docker stop [容器id]
2、第二种:docker stop [容器名字]
3、第三种:使用docker attach命令进入容器,然后使用exit命令退出
4、可以通过docker ps -a -q命令查看终止转态的容器id信息,也可以通过docker ps 与docker container ls -a 分别查询,如果ps查询没有而 container查询存在容器,这说明此容器已终止
5、可以使用docker start命令重启容器
(三)、进入docker容器
1、第一种:docker attach [镜像id]或者[镜像名] 例如 docker attach 77dfhas 或者 docker attach focused_lichterman
注意:有一个缺点只要这个连接终止,或者使用了exit命令,容器就会退出后台运行
2、第二种:docker exec -it [镜像id]或者[镜像名] /bin/sh 例如 docker exec -it 77dfhas /bin/sh 或者 /bin/sh 例如 docker exec -it focused_lichterman /bin/sh
(四)、删除docker容器
docker rm [镜像id] 若要删除一个运行中的容器,需要加-f参数,但是不建议直接删除,先终止容器,再做删除
(五)、查看实时日志
docker logs -f -t --tail time [容器id]