简单的镜像封装运行,可做参考
#创建dockerfile
cat > Dockerfile << EOF
from openjdk:8
MAINTAINER www.983132370@qq.com
#避免中文乱码
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之后 执行该脚本实现
自动删除旧容器,旧镜像,构建新镜像,运行新容器