Dockerfile打包部署常用操作
文章目录
1、Dockerfile部署java程序(jar包)
1.1、创建Dockerfile
FROM java:8
MAINTAINER qingsong
VOLUME /home/wqswork/demofirst
ADD summer.jar demo1.jar
EXPOSE 8030
ENTRYPOINT ["java","-jar","demo1.jar"]
# 下面这句话限制容器的内存
#ENTRYPOINT ["/opt/infosec/cssp/jdk1.8.0_202/bin/java","-jar","-Xms1024m", "-Xmx1024m","-XX:+PrintGCDetails", "-XX:+PrintGCTimeStamps", "-XX:+HeapDumpOnOutOfMemoryError", "-XX:HeapDumpPath=/opt/infosec/cssp", "-Xloggc:/opt/infosec/cssp","/opt/infosec/cssp/cssp-csm.jar"]
# 下面这句是运行带配置文件的
#ENTRYPOINT ["java","-jar","demo1.jar", "--spring.profiles.active=dev"]
- from java:8 拉取一个jdk为1.8的docker image
- MAINTAINER qingsong 作者是qingsong
- VOLUME /home/wqswork/demofirst 持久化地址
- summer.jar 就是你上传的jar包,替换为jar包的名称
- demo1.jar 是你将该jar包重新命名为什么名称,在容器中运行
- expose 该容器暴露的端口是多少,就是jar在容器中以多少端口运行
- entrypoint 容器启动之后执行的命令,java -jar demo1.jar 即启动jar
1.2、将Dockerfile和要上传的jar包放到一个目录下,构建镜像
# 注:一定要加“.”,否则构建失败
docker build -t demo1 .
1.3、创建启动容器
#这个表示docker容器在停止或服务器开机之后会自动重新启动 --restart=always
docker run -d --restart=always --name demotest -p 8040:8030 demo1
2、Dockerfile部署vue
2.1、创建dockerfile文件
#wqs_20210331 dockerfile
#使用 nginx最新版本作为基础镜像
FROM nginx
# 删除原来nginx自带的配置文件
RUN rm -vf /etc/nginx/conf.d/default.conf
# 复制自己写的配置文件
COPY ./conf.d/ /etc/nginx/conf.d/
#将当前文件夹的dist文件复制到容器的/usr/share/nginx/html目录
COPY ./dist /usr/share/nginx/html/
#声明运行时容器暴露的端口(容器提供的服务端口,nginx这里默认式80端口,所以可以注释掉)
#EXPOSE 8080
#CMD:指定容器启动时要运行的命令
CMD ["nginx", "-g", "daemon off;"]
2.2、将打包的dist文件放到dockerfile同文件目录下
2.3、在dockerfile同目录文件下创建目录conf.d,在conf.d下创建web.conf文件
server {
listen 80;
listen [::]:80;
server_name localhost;
#charset koi8-r;
#access_log /var/log/nginx/host.access.log main;
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
location /api/{
proxy_pass http://172.17.0.1:7000/;
proxy_redirect default;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
#error_page 404 /404.html;
# redirect server error pages to the static page /50x.html
#
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
2.4、到Dockerfile执行打包镜像命令
docker build -t my-vue-test .
# 出现以下描述,构建镜像完成
Successfully built 1a42038957c7
Successfully tagged my-vue-test:latest
2.5、创建并运行容器
docker run -d --restart=always --name myvue01 my-vue-tes
原文地址:https://blog.csdn.net/PineSummer/article/details/140179120
免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!