docker-镜像封装

简单的镜像封装运行,可做参考

#创建dockerfile

cat > Dockerfile << EOF

from openjdk:8

MAINTAINER [email protected]

#避免中文乱码

ENV LANG C.UTF-8

#时区设置(日期相差八小时问题)

RUN cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \

echo 'Asia/Shanghai' >/etc/timezone

#添加项目jar包到镜像 注意路径

ADD admin-service-0.1.jar /usr

CMD ["java", "-jar","/usr/admin-service-0.1.jar"]

EOF

#构建镜像(Dockerfile 同级目录执行命令) 注意最后面有个点 ( . ) 

docker build -t admin .

#运行容器

docker run -p 8090:8090 --name myadmin -d admin

#输出日志

docker logs myadmin

以下快捷删除容器,镜像,可以与上面命令一起放在一个shell里 实现较快速的镜像重构,容器重启更新。

#删除旧容器的脚本 如果有

cat > rm.sh << 'EOF'

#!/bin/sh

NAME=$1

ID=`docker ps -a | grep "$NAME" | awk '{print $1}'`

for id in $ID

do

docker stop $id

docker rm $id

echo 'rm' $id

done

EOF

#删除旧镜像的脚本 如果有

cat > rmi.sh << 'EOF'

#!/bin/sh

NAME=$1

ID=`docker images | grep "$NAME" | awk '{print $1}'`

for id in $ID

do

docker rmi $id

echo 'rmi' $id

done

EOF

#删除旧容器

sh rm.sh myadmin

#删除旧镜像

sh rmi.sh admin

#可以重新构建镜像了(重复刚开始的步骤) 

#也可以把这些命令放在一个shell脚本里 更新时直接上传 jar之后 执行该脚本实现

自动删除旧容器,旧镜像,构建新镜像,运行新容器

猜你喜欢

转载自blog.csdn.net/qq_36338555/article/details/103390162