linux下安装docker并部署运行jar

linux系统安装并启动docker服务

Docker提供了两个版本:社区版 (CE) 和企业版 (EE)。
Docker 社区版 (CE) 是开发人员和小型团队开始使用 Docker 并尝试使用基于容器的应用的理想之选,所以这里我们来说一下Docker社区版的安装。
这里我们说的是在CentOS7版本上安装docker。

1、安装需要的软件包

yum-util 提供yum-config-manager功能,另外两个是devicemapper驱动依赖的
linux命令为:

yum install -y yum-utils device-mapper-persistent-data lvm2
2、设置yum源

命令为:

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
3、启用 edge 和 testing 镜像仓库(可选)

命令分别为:

yum-config-manager --enable docker-ce-edge
yum-config-manager --enable docker-ce-testing
4、安装Docker最新版本

命令为:

yum install -y docker-ce
5、启动Docker

命令为:

systemctl start docker
6、验证安装是否成功

命令:docker version
在这里插入图片描述
如图,有client和service两部分表示docker安装启动都成功了。

Docker部署运行jar

一、创建docker镜像

1、创建Dockerfile文件

文件内容如下:

FROM java:8
ADD easyexcel-0.0.1-SNAPSHOT.jar /easyexcel.jar
EXPOSE 8060
CMD java -Djava.security.egd=file:/dev/./urandom -jar /easyexcel.jar

文件内容解析:
FROM java:8 拉取一个jdk为1.8的docker image
easyexcel-0.0.1-SNAPSHOT.jar 就是你上传的jar包的名称
easyexcel.jar 是你将该jar包重新命名为什么名称,在容器中运行
EXPOSE 该容器暴露的端口是多少,就是jar在容器中以多少端口运行
CMD 就是容器启动后执行的命令。

2、构建Docker镜像

命令:docker build -t demo .
注意,命令的最后有一个“.”,表示 Dockerfile 文件在当前目录下。
demo为构建的Docker镜像名称。

二、运行Docker容器

1、运行命令

命令为:

docker run -e TZ="Asia/Shanghai" -d --restart=always --name demo -p 8060:8060 -v /home/demo/easyExcel:/home/demo/easyExcel demo
2、命令解析

1、docker run 指运行docker容器
2、-e TZ=“Asia/Shanghai” 设置容器运行时的默认时区,这里设置为上海时区。
3、-d 指容器在后台运行
4、–restart=always 指Docker重启时,容器自动运行
5、–name demo 指Docker容器的名称
6、-p 8060:8060 用来指定宿主机和容器的端口映射,这里的意思是将宿主机的8060端口映射容器的8060端口
7、-v /home/demo/easyExcel:/home/demo/easyExcel
这里指docker挂载宿主机目录的参数指令,因为jar运行时会有Log日志输出,如果在docker容器里运行,则看不到输出的Log日志文件,需要将对应的日志目录挂载到宿主机,即将文件同步到宿主机上,这样就能看到生成的Log文件。
首先,springboot配置文件里会指定日志输出目录,如下图:
在这里插入图片描述
在这里插入图片描述
注意,这里设置的Log目录不能为相对路径。

然后,我们可以在服务器上创建相同路径的目录,如下图:
在这里插入图片描述
在对应的/home/demo/下创建easyExcel目录。
然后使用-v /home/demo/easyExcel:/home/demo/easyExcel来挂载Log目录文件。
8、demo 指要运行的镜像

三、进入运行中的docker容器,并查看jar的gc信息

1、查看运行的docker容器

命令:docker ps
在这里插入图片描述
上图中圈中的就是容器id

2、进入指定的docker容器

命令:sudo docker exec -it [容器id] /bin/bash

3、查找在docker容器中运行的jar包

命令:ps -ef | grep java
在这里插入图片描述

4、查看指定pid的jar包gc信息

命令:jstat -gc [pid] [时间间隔,毫秒为单位]

Docker使用阿里云镜像仓库上传拉取并运行

一、创建阿里云镜像仓库

在这里插入图片描述
如上图,选择容器镜像服务。然后创建镜像仓库。
在这里插入图片描述
然后点击访问凭证,设置固定密码,如下图:
在这里插入图片描述
然后在linux服务器上设置镜像加速器,如下图:
在这里插入图片描述

二、Docker将本地镜像push到阿里镜像仓库

1、构建本地镜像

同上面的构建Docker镜像一样,命令:

docker build -t registry.cn-hangzhou.aliyuncs.com/hezhan/demo:v1.0 .

注意,这里的镜像名称为阿里镜像仓库地址+版本,如下图:
在这里插入图片描述
上图中的仓库地址按情况选择复制。
命令解析:
registry.cn-hangzhou.aliyuncs.com/hezhan/demo为阿里镜像仓库地址;
v1.0为版本,可以自定义,不传则默认为latest
中间用【:】连接。

2、将本地镜像push到阿里镜像仓库

在push之前,要先登录到阿里镜像仓库,
登录命令为:

docker login --username=书生今天不吃饭a registry.cn-hangzhou.aliyuncs.com

这里的username的值为阿里云账号全名,具体的操作说明可以在阿里云看到,具体在阿里云容器镜像服务,点击具体的镜像命名空间,如下图:
在这里插入图片描述
在服务器上使用docker login登录成功后,会在/root/.docker下生成一个文件config.json,注意【.docker】为隐藏文件目录,可以在root目录下通过ls -a看到。
如果其他服务器也想通过同样的账号密码登录此阿里镜像仓库,则可以将此【config.json】文件复制上传到对应的服务器,则可以免登录即可push、pull镜像。
然后再push到阿里镜像仓库

命令为:

docker push registry.cn-hangzhou.aliyuncs.com/hezhan/demo:v1.0

三、pull阿里镜像仓库

命令为:

docker pull registry.cn-hangzhou.aliyuncs.com/hezhan/demo:v1.0

具体操作说明也可在阿里云上看到,如下图:
在这里插入图片描述

四、运行docker从阿里镜像pull下来的镜像

运行同上面的运行Docker容器一样。只不过将镜像名称换为:
registry.cn-hangzhou.aliyuncs.com/hezhan/demo:v1.0
即镜像仓库地址+指定的版本,中间用【:】连接

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值