记docker部署springboot的一些命令

一、docker部署springboot项目

1、Dockerfile文件

  FROM docker.io/kdvolder/jdk8
 VOLUME /home/fcw
 ADD inquiry-admin.jar app-inquiry.jar
 EXPOSE 8081
 ENTRYPOINT ["java","-jar","/app-inquiry.jar"]

时间矫正:

centos:

RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' > /etc/timezone

unbtn:

ENV TZ=Asia/Shanghai
   RUN apt update \
    && ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone \
    && apt install tzdata \
    && apt clean \
    && apt autoclean \
    && rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*

2、构建镜像(生成一个jar的本地镜像)

docker build -t inquiry_admin_image .

3、后台运行docker的web容器(使用构建出的镜像生成一个web服务实例)

docker run -d -p 8081:8081  -v /home/fcw/peofile:/home/fcw/profile  --name inquiry_con inquiry_admin_image

4、一些其他操作

#容器关闭
docker stop  [容器id]

#容器重启
docker restart [容器id]

#删除容器
docker  rm  [容器id]

#移除镜像
docker  rmi  inquiry_admin_image(镜像id)
5、使用sh自动执行上述命令

#!/bin/bash
dkfilePath=/home/fcw/Dockerfile
conontentPath=/home/zxwz
#容器数据卷映射目录
vpath=/home/fcw/profile/
# 容器名称
cname=app_inquiry
# 镜像名称
iname=inquiry_admin_image
#私有网络名称
netname=cyjy

# 查找正在运行的javaweb容器ID并关闭
serverId=`docker ps | grep $cname | awk '{print $1}'`
if [ -z $serverId ]; then
    echo "没有检测到正在运行的javaweb服务容器。开始启动新的javaweb容器......"
else
    echo "扫描到正在运行的javaweb服务容器,执行关闭......"
    docker rm $(docker stop $serverId)
fi

# 删除旧javaweb服务镜像
docker rmi -f $iname
# 构建新的javaweb服务镜像,并命名为inquiry_admin_image
echo "构建所需镜像......"
docker build -t $iname -f $dkfilePath $conontentPath

if [ $? -eq 0 ]; then
    echo "镜像构建完成,开始启动新容器......"
else
    echo "镜像构建失败,请查看错误日志"
    exit;
fi

# 启动新javaweb容器
docker run \
	-d --name $cname \
	-p 8081:8081 \
	-v $vpath:$vpath \
	--privileged=true \
	$iname
	
serverId=`docker ps | grep $cname | awk '{print $1}'`
echo "新javaweb容器已启动,ID:$serverId, name:$cname, 网络:$netname"

二、docker 常用命令

      docker --help   查询docker命令

      docker  search  [iamge_name]:tag   

      docker  pull      [image_name]:tag

       以交互式终端启动容器           

     docker  run    -it   --name  [con_name]  -p  [conport]:[psyport]   -v [vpath]:[psypath]    [image_name]                   

       启动容器后台守护运行     

      docker  run    -d   --name  [con_name]  -p  [conport]:[psyport]   -v [vpath]:[psypath]     [image_name]         

      查看容器日志

       docker logs  -f  -t   --tail   3  [con_id]

      查看容器内的进程

      docker top   [con_ic]

      查看容器细节

      docker inspect [con_id] 

     进入正在运行的容器以命令行的形式与容器交互

  docker  exec  -it  [con_id]  /bin/bash          在宿主机上直接操作容器

     docker attach  [con_id]               

     从容器上拷贝数据到物理机

     docker cp [con_id]:[con_path]       [psy_path]  

     退出容器交互

     ctrl +p+q

 

     

你可能感兴趣的:(javaweb)