Docker初学(二)

Idea中配置:Configurations: 

 配置Docker的url:往那个服务器的docker中构建镜像和容器:

DockerFile: 

FROM openjdk:8-jre
RUN mkdir /app
COPY ./target/su-yan-education-0.0.1-SNAPSHOT.jar /app/app.jar
RUN mkdir -p /su-yan-education/studentexcelModel/
RUN mkdir -p /su-yan-education/teacherexcelModel/
RUN mkdir -p /su-yan-education/kindergartenexcelModel/
COPY ./files/studentInfo.xlsx /su-yan-education/studentexcelModel/studentInfo.xlsx
COPY ./files/teacherInfo.xlsx /su-yan-education/teacherexcelModel/teacherInfo.xlsx
COPY ./files/kindergartenInfo.xlsx /su-yan-education/kindergartenexcelModel/kindergartenInfo.xlsx
ENTRYPOINT ["java","-jar", "-Djava.net.preferIPv4Stack=true","/app/app.jar"]
EXPOSE 8683

docker-compose.yml: services下面的su-yan是随便起的名字,只是一个服务名称;image:su-yan 镜像名要和Configurations中保持一致;container_name:su-yan 容器名称一般和镜像名称一致。

version: '3.5'
services:
  su-yan:
    image: su-yan
    container_name: su-yan
    ports:
      - 8683:8683
    restart: always
    volumes:
      - ./logs/:/logs/

项目结构:

 总结:

1.)本项目是一个单镜像项目,所以实际上是用不到docker-compose.yml的,具体详情可以查看docker-compose和dockerFile的区别,本项目中,(由于配置了服务器docker的路径,所以在idea中启动DockerFile就是相当于在服务器中构建build镜像的过程)在idea中运行DockerFile,就是构建镜像的过程,要想生成容器,需要在服务器中输入docker-compose up -d命令;关闭容器:docker-compose down(亲测,这个命令其实也就把当前目录下的容器删除了),就等于 docker stop 容器id 与docker rm 容器id 两条命令的作用。

2.)因为本项目是单镜像项目,所以也可以不用docker-compose.yml,那么就需要如下配置:取代docker-compose.yml,运行dockerFile之后,服务器中就有了镜像和容器,名称都是su-yan.

3.)上面两步都是通过在idea中构建镜像/构建镜像+生成容器,其实也可以直接在服务器中直接通过docker命令做这些。

4.)本项目只是简单的使用了docker,明白了idea和docker的配置整合以及流程,

docker的流程:首先写出DockerFile-->build 构建镜像-->run  运行并生成容器 .

另外补充:

1.服务器中要开启2375的端口,否则会报错,另外关闭防火墙之后docker需要重启,service docker restart,否则也会报错;

2.要删除镜像之前首先需要删除对应的容器,

删除镜像 : docker rmi 镜像id          删除容器:  docker rm 容器id     删除容器如果容器正在运行,删除不了,要docker stop 容器id 先停止该容器。或者使用 -f 强制删除;

3.要进入到容器内,找到在DockerFile中创建的文件夹 dockers exec -it 容器id bash 进入到容器中,exit是退出当前容器。

补充:2020/07/20

docker的远程调用,由于之前使用的是docker的默认 开放端口2375,所以服务器被攻击了,所以不能使用默认的端口2375,同时docker有个加密的2376端口:

centos7 docker开启认证的远程端口2376配置教程

https://blog.csdn.net/qq_21187515/article/details/90262324?utm_medium=distribute.pc_relevant.none-task-blog-baidujs-1

同时要在idea中把2375改成2376,服务器要开放2375端口,防火墙也要放开。

猜你喜欢

转载自blog.csdn.net/zhangleiyes123/article/details/107335094
今日推荐