1、docker安装
2、镜像制作
构建镜像有两种方式:
docker build -t quality-dataadapter:v2.4 ./
A、Dockerfile:
RROM openjdk:8
ADD ["quality-dataadapter-1.0-SNAPSHOT.jar", "/quality-dataadapter.jar"]
EXPOSE 26001
ENTRYPOINT ["java","-jar","-Duser.timezone=GMT+8","-Dfile.encoding=UTF-8","-Dquality.db.path=/config","-Dspring.config.file:./config/","-Dspring.profiles.active=dev","/quality-dataadapter.jar"]
FROM 构建镜像的起点镜像
ADD 增加文件到镜像中, 第一个参数为当前系统中的文件,第二个参数是制作成镜像的文件局对路径
EXPOSE 暴露的端口
ENTRYPOINT 容器启动后,第一个运行的程序
B、容器commit:
docker commit -m "配置环境完成" -a "jDK8 版本" 0b2r16ace5tm quality-dataadapter:v2.4
-m 来指定提交的说明信息,跟我们使用的版本控制工具一样;-a 可以指定更新的用户信息;之后是用来创建镜像的容器的 ID;最后指定目标镜像的仓库名和 tag 信息。创建成功后会返回这个镜像的 ID 信息。
3、镜像站搭建
4、docker部署
1、获取镜像包
docker save -o dockerPackage.tar dockerContainer:v2.4
2、将镜像包导入到本地仓库
docker load --input dockerPackage.tar 或 docker load < dockerPackage.tar
3、启动容器
docker run -d --name quality-adapter -p 26001:26001 -v /docker/adapter/config:/config -v /docker/adapter/logs:/logs -v /app:/app quality-dataadapter:V2.4
--name 启动的容器名
-p 容器端口与宿主机端口的映射 前面那个是宿主机端口,后面那个是容器端口
-v 将容器路径挂在到宿主机上,前一个参数为宿主机路径,后一个为容器的路径
此处有一个个人经验,如果容器启动后又迅速关闭,那么容器启动是执行的进程必定是有问题。此时最好的办法是,在打镜像时,ENTRYPOINT设置为top指令,在启动容器时,使用-dit指令,则可以启动容器后通过top指令将容器挂起。然后进入容器,排查启动指令在哪一步出现问题。
4、进入docker
docker exec -it 0b2r16ace5tm /bin/bash
--it 容器id
5、管理镜像仓库中的镜像
查看镜像仓库中的镜像
docker images
删除镜像
docker rmi ab2r16rcevtm 镜像id