0


使用docker 生成镜像,并启动容器。

一、准备好相应得jar包,并vim好dockerfile文件。

#定义基础镜像

FROM java:8

# 维护者信息

MAINTAINER   [email protected]

#声明发布端口(没有发布)

EXPOSE 9181

# 将jar包添加到容器

ADD springboot.jar app.jar

# 定义容器启动执行的命令(CMD会被docker run 之后的命令替换掉)

CMD java -jar app.jar

指令详情:
指令解析FROM指定基础镜像,必须为第一个命令MAINTAINER维护者邮箱等信息RUN构建镜像docker build时执行的命令ADD将本地文件添加到容器中,tar 类型文件会自动解压COPY功能类似ADD,但是是不会自动解压文件,也不能访问网络资源CMD在docker run时会执行的命令,如果存在多个则仅最后一个生效,例如一个镜像的dockerfile的结尾是“ CMD ["/bin/bash"] ”,那么进入容器可以使用docker exec -it imageName或docker exec -it imageName /bin/bash,后者是在“ CMD ["/bin/bash"] ”的指令下面多加了一个“ CMD ["/bin/bash"] ”,根据CMD的特性,存在多个时,只让最后一个CMD生效,因此不影响ENTRYPOINT可执行化LABEL用于为镜像添加元数据ENV设置环境变量EXPOSE指定于外界交互的端口VOLUME用于指定持久化目录WORKDIR工作目录ARG用于指定传递给构建运行时的变量ONBUILD用于设置镜像触发器

二、build 当前dockerfile文件

docker build -f dockerfile文件路径  -t  镜像名称:版本号 .
例:docker build -f dockerfile      -t  myfirstapp:1.0 .

三、查看镜像是否打成功

#查看镜像是否已存在。
docker images
#查看镜像声明的端口
docker inspect -f {{".ContainerConfig.ExposedPorts"}} abde875b8b42

四、将镜像压缩成tar包或者解压

docker  save    -o    压缩文件名称      镜像名称:版本号
例:docker save -o    myfirstapp.tar    myfirstapp:1.0
docker     load –i 压缩文件名称
例:docker load -i myfirstapp.tar

五、启动容器运行镜像

docker run --name  容器名称  -it  -d后台运行 -p端口映射宿主机:容器内 -v /宿主机绝对路径目录:/容器内目录  镜像名称:版本号
例:docker run --name  mydocker  -it    -d       -p 8080:80          -v        /opt/log:/log        myfirstapp:1.0  

(-i 以交互模式运行容器,通常与 -t 同时使用、-t 为容器重新分配一个伪输入终端)

六、查看容器信息

docker ps -a

七、进入容器

docker exec -it  容器名    bash
例:docker exec -it  mydocker  bash

八、查看容器日志

docker logs [OPTIONS] CONTAINER
  
[OPTIONS]
  
-f : 跟踪日志输出
  
-t : 显示时间戳
  
--tail :仅列出最新N条容器日志
  
--since:显示某个日期至今的所有日志
  
CONTAINER
代表容器ID或容器名称
# 显示最近10条日志
docker logs -f --tail 10 efb78392fcc6

#显示某个日期到当前日期的所有日志
docker logs -f --since "2022-05-16" efb78392fcc6
标签: docker jar java

本文转载自: https://blog.csdn.net/weixin_47162914/article/details/130946002
版权归原作者 老郑头zz 所有, 如有侵权,请联系我们删除。

“使用docker 生成镜像,并启动容器。”的评论:

还没有评论