1 配置docker远程连接端口
打开:vim /usr/lib/systemd/system/docker.service搜索:/ExecStart原值:ExecStart=/usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock替换为:ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock

重启:
systemctl daemon-reloadservice docker restart
重启其他服务:
docker restart mysql-test
开启端口:
测试是否配置成功:
curl http://localhost:2375/version
编写DockerFile:
#指定基础镜像,在其上进行定制FROM java:8#维护者信息MAINTAINER zhangqing <1114921671@qq.com>#这里的 /tmp 目录就会在运行时自动挂载为匿名卷,任何向 /tmp 中写入的信息都不会记录进容器存储层。VOLUME /tmp#复制上下文目录下的target/demo-1.0.0.jar 到容器里COPY target/weChat-0.0.1-SNAPSHOT.jar weChat.jar#bash方式执行,使demo-1.0.0.jar可访问#RUN新建立一层,在其上执行这些命令,执行结束后, commit 这一层的修改,构成新的镜像。RUN bash -c "touch /weChat.jar"#声明运行时容器提供服务端口,这只是一个声明,在运行时并不会因为这个声明应用就会开启这个端口的服务EXPOSE 8070#设置变量 JAVA_OPTSENV JAVA_OPTS=""#这样写会以shell方式执行,会替换变量ENTRYPOINT java ${JAVA_OPTS} -Djava.security.egd=file:/dev/./urandom -jar /weChat.jar#指定容器启动程序及参数 <ENTRYPOINT> "<CMD>"#ENTRYPOINT ["java","-jar","weChat.jar"]#启动容器# docker run --name we-chat -e JAVA_OPTS='-Xmx1344M -Xms1344M -Xmn448M -XX:MaxMetaspaceSize=192M -XX:MetaspaceSize=192M' 60e89934c159
上传镜像:

运行:
docker run --name we-chat -e JAVA_OPTS='-Xmx1344M -Xms1344M -Xmn448M -XX:MaxMetaspaceSize=192M -XX:MetaspaceSize=192M' 60e89934c159

查看虚拟机参数:
docker exec -it we-chat bashps -ef |grep java

端口映射
使用:docker run —name container-name:tag -d -p 服务器端口:Docker 端口 image-name
1.—name:自定义容器名,不指定时,docker 会自动生成一个名称
2.-d:表示后台运行容器
3.image-name:指定运行的镜像名称以及 Tag
4.-p 表示进行服务器与 Docker 容器的端口映射,默认情况下容器中镜像占用的端口是 Docker 容器中的端口与外界是隔绝的,必须进行端口映射才能访问

