一、准备好相应得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
七、进入容器文章来源:https://www.toymoban.com/news/detail-597219.html
docker exec -it 容器名 bash
例:docker exec -it mydocker bash
八、查看容器日志文章来源地址https://www.toymoban.com/news/detail-597219.html
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 生成镜像,并启动容器。的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!