#设施sudo免密
chmod u+w /etc/sudoers
echo "gc-user ALL=(ALL) NOPASSWD: ALL" >> /etc/sudoers
chmod u-w /etc/sudoers
#清理日志
@.1.查询
ls -lh $(find /var/lib/docker/containers/ -name *-json.log)
@.2.清除
truncate -s 0 /var/lib/docker/containers/*/*-json.log
#端口占用情况
netstat -tunlp |grep 端口号
#端口占用情况
显示状态: firewall-cmd --state
查看所有打开的端口: firewall-cmd --zone=public --list-ports
添加开放端口 firewall-cmd --zone=public --add-port=8085/tcp --permanent (--permanent永久生效,没有此参数重启后失效)
更新防火墙规则: firewall-cmd --reload
#清理无用镜像
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
#清理指定镜像及所有相关容器 ---小心使用
#! /bin/bash
# 截取符合规范的docker ID
dockerE=$(docker images | grep "$1"|awk '{print $3}' )
#如果没有直接推出
if [ ! $dockerE ]
then echo "not $1" ;exit
fi
echo "==================== start clean docker containers =========================="
for id in $dockerE
do
if [ ! -z "$id" ]
then
docker rmi $id
#删除镜像失败
if [ $? -ne 0 ]
then
echo "删除失败 寻找依赖,获取镜像名称"
#获取镜像名称
imgName=$(docker images |grep "$id"|awk '{print $1}')
#获取镜像相关的容器
echo "获取相关镜像"
conId=$(docker ps -a |grep "$imgName"|awk '{print $1}')
echo "$conId"
for cId in $conId
do
echo “删除容器实例”
#删除容器实例
docker rm $cId
#删除容器实例失败
if [ $? -ne 0 ]
then
#停止容器
docker stop $cId
echo "stop 容器 $cId OK"
#再次删除 容器
docker rm $cId
echo "remove 容器 $cId OK"
#再次删除 镜像
docker rmi $id
echo "remove image $id OK"
else
echo "clean cotainer ID OK: $cId "
#再次删除 镜像
docker rmi $id &>>/dev/null
fi
done
else echo "clean Image ID OK: $id "
fi
else echo "clear images $id null"
fi
done
echo "==================== end clean docker containers =========================="
springboot jar文件生成镜像运行Dockerfile(source.jar 就是你要运行的jar的名字 最后的dev 就是你要使用的那个配置文件)
FROM java:8
VOLUME /tmp
ADD source.jar app.jar
RUN bash -c 'touch /app.jar'
ENV JAVA_OPTS="-Duser.region=CN -Duser.timezone=GMT=GMT+8"
ENTRYPOINT [ "sh", "-c", "java $JAVA_OPTS -Djava.security.egd=file:/dev/./urandom -jar -Dspring.profiles.active=dev app.jar" ]