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

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

#定义基础镜像

FROM java:8

# 维护者信息

MAINTAINER   xxxxxxxxx@qq.com

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

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

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值