#一、创建镜像
#1. 可在jar同级目录中创建 Dockerfile 文件,文件编辑内容例如
# 基础镜像是docker仓库的java:8(JDK8)
FROM java:8
# 作者签名
MAINTAINER lhc lhc@qq.com
# 挂载宿主机jar包到镜像 /platform-pay-1.0.0.jar 和 下个指令对应即可,命名并非一定要和jar名一样,为了能够识别
copy platform-pay-1.0.0.jar /platform-pay-1.0.0.jar
# 执行 java -jar 命令,启动容器跟随启动
CMD java -jar /platform-pay-1.0.0.jar
# 设置对外端口为 8081
EXPOSE 5081
#2. 创建镜像 build指令 尤其注意后边的点,代表的是从当前的Dockerfile构建一个镜像
docker build -t platform-pay-1.0.0 .
#二、运行
# docker 运行镜像: -d 后台运行 -p 指定宿主机端口映射到镜像端口 --net=host使用宿主机网络,避免镜像自行注册 pay 自己对这个镜像起的的容器名称 platform-pay-1.0.0 镜像(使用-e 指令可以将配置写入镜像,比如 -e "SERVER_PORT=80" 直接修改项目端口为80)
docker run -d -p 80:5081 --net=host --name pay platform-pay-1.0.0
#查询当前正在运行的容器(加-a代表所有的容器可能未运行)
docker ps
#查询30分钟内的某容器的最新10行日志详情
docker logs --since 30m --tail=10 容器名称或id
========================>>注意防火墙对端口的限制<<=========================
1、开放端口
firewall-cmd --zone=public --add-port=5672/tcp --permanent # 开放5672端口
firewall-cmd --zone=public --remove-port=5672/tcp --permanent #关闭5672端口
firewall-cmd --reload # 配置立即生效
2、查看防火墙所有开放的端口
firewall-cmd --zone=public --list-ports
3.、关闭防火墙
如果要开放的端口太多,嫌麻烦,可以关闭防火墙,安全性自行评估
systemctl stop firewalld.service
4、查看防火墙状态
firewall-cmd --state
5、查看监听的端口
netstat -lnpt
PS:centos7默认没有 netstat 命令,需要安装 net-tools 工具,yum install -y net-tools
6、检查端口被哪个进程占用
netstat -lnpt |grep 5672
7、查看进程的详细信息
ps 6832
8、中止进程
kill -9 6832