docker运行前后端项目

133 阅读2分钟

一、后端

1、创建Dockerfile文件

FROM java

EXPOSE 8083

ADD data_app-3.2.1-SNAPSHOT.jar smart.jar

COPY application.properties /

RUN bash -c 'touch /smart.jar'

ENTRYPOINT ["java","-jar","/smart.jar","--spring.config.location=/application.properties"]

EXPOSE 开放的端口号

ADD 将需要执行的jar包复制到容器的根目录下,并更换别名

COPY 将配置文件复制到容器的根目录中

RUN 将在当前镜像基础上执行指定命令,并提交为新的镜像

ENTRYPOINT 配置容器启动后执行的命令

2、构建docker镜像

docke build -t java/demo .

注意事项:不能漏掉.,-t是给镜像命名,.(点)是基于当前目录的Dockerfile来构建镜像

3、启动docker容器

docker run -d -p 8083:8083 --restart=always --name demo java/demo

docker run:基于镜像启动一个容器

-d:后台方式启动

-p 8083:8083: 端口映射,将宿主机的8083端口映射到容器的8083端口

–name:容器名,我起的叫demo

java/demo :要启动的镜像名称

–restart=always 跟随docker容器启动

4、查看,访问

docker ps

打开测试工具poman,192.168.99.100:8083+对应的接口名称,测试结果返回即成功 以上为docker运行jar包简单过程,如果补充请留言

二、前端

1、获取nginx镜像

docker pull nginx

2、在项目目录下创建default.conf,写入一下配置

server {

listen       80;

server_name  localhost;


location / {
    root   /usr/share/nginx/html;
    index  index.html index.htm;
    try_files $uri $uri/ /index.html =404;
}

error_page   500 502 503 504  /50x.html;
location = /50x.html {
    root   html;
}

}

3、在项目下创建Dockerfile文件

FROM nginx //该镜像是基于nginx:latest镜像构建的

MAINTAINER zouzou //添加说明

RUN rm /etc/nginx/conf.d/default.conf //删除目录下的default.conf文件

ADD default.conf /etc/nginx/conf.d/ //将default.conf复制到/etc/nginx/conf.d/下,用本地的

default.conf配置来替换nginx镜像里的默认配置

COPY dist/ /usr/share/nginx/html/ //将项目根目录下dist文件夹(构建之后才会生成)下的所有文件复制到镜像/usr/share/nginx/html/目录下

4、设置构建时的忽略文件.dockerignore

**/node_modules

5、构建docker镜像

docke build -t my-first-app .

与后端构建方式一样

6、启动docker容器

docker run -d -p 9090:80 --restart=always --name my-first-app my-first-app

与后端启动方式一样

7、查看,访问

docker ps