docker运行jar

自己是参考一些博客和官网自己使用总结,欢迎大佬点评

上传可执行jar到服务器(此处是使用mac终端上传)

put /user/app.jar /usr/local/docker

编写Dockerfile文件,若无vim 自行安装

vim Dockerfile

Dockerfile内容如下

FROM java:8
WORKDIR /app
COPY app.jar /app
EXPOSE 8080


ENTRYPOINT ["java","-jar","app.jar"]

说明:

    from 指定基本镜像,可以不用下载,在后面build进行创建镜像时会从镜像仓库直接拉取

   workdir 是指容器的工作目录 以Dockerfile 文件所在的路径为跟路径,/app路径指的是宿主机的/usr/local/docker/app 目录

   copy 将运行文件拷贝到容器目录,或者可以使用add ,自己没用过还不清楚

   expose 指容器内部使用的端口,因为我是一个容器只运行一个东西,没有验证过这个

   entrypoint  指容器启动时要运行的命令

   另外说明:若是 需要配置存储log文件,或者文件存储,需要在运行时指定挂载宿主机的目录,否则容器销毁的时候,里面的东西都将不会存在,下面会说明如何挂载

   构建镜像

docker build -t app_img_name .

  -t : 指创建镜像都名称,不要忘了后面加一个 “.” 代表当前目录,这个指Dockerfile 文件所在的目录      

创建并运行docker容器

docker run -dp 8088:8080 -v /usr/local/docker/log:/log --network app/net --name app app_img_name

说明:

    run 运行镜像,创建并启动容器

   -dp 组合命令,等于 -d  -p  ,-d 表示后台运行,-p 指定端口映射,8088为容器占用的宿主机端口,8080为容器内部使用的端口

   -v 挂载宿主机目录,/usr/local/docker/log为宿主机目录,/log为容器内部路径,即程序中指定的log路径

   --network 指定网路,若是数据库也使用docker运行(此处不讲docker运行数据库),需要指定同一个网络 ,可使用如下命令创建网络

docker network create app/net

   --name 指创建容器的名称

   app_img_name 为镜像的名称,镜像id也可以

若没有提示错误,则表示运行成功,可以使用如下命令查看

docker ps
docker ps -a

其他的一些常用命令

docker ps 查看容器
docker ps -a 
docker images 查看镜像文件
docker image ls 
docker inspect 容器id 查看容器信息
docker image history --no-trunc  创建图像中每个图层的命令
docker rm 【容器id/名称】 删除容器
docker rm -f 删除容器
docker rmi 删除镜像
docker logs -f 容器id  查看日志

更多详细可以查看官方文档 和菜鸟教程

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值