使用Docker部署前端项目实战教程,该踩的坑我都帮你踩了!

这篇具有很好参考价值的文章主要介绍了使用Docker部署前端项目实战教程,该踩的坑我都帮你踩了!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

每个人的前半生,都在不停地做加法。可到了后半生,我们就要学会不断地做减法。

目录

前置工作

1、需要准备的东西

2、连接云服务器

安装Docker环境 

1、安装Docker的依赖库。

2、添加Docker CE的软件源信息。

 3、安装Docker CE。

4、启动Docker服务。

准备Dockerfile并部署项目(构建新的业务镜像)

1、准备nginx.conf.template、Dockerfile、dist(前端项目build后的包)

2、部署项目

知识点(需要的可查阅)

容器命令(需要时可查)

结束语


前置工作

1、需要准备的东西

一台Centos服务器并连接

使用Docker部署前端项目实战教程,该踩的坑我都帮你踩了!

我这是演示用的垃圾云,建议大家上阿里云、腾讯云等。

2、连接云服务器

连接服务器看文章: https://blog.csdn.net/qq_32442973/article/details/119840447 


安装Docker环境 

Docker有两个分支版本:Docker CEDocker EE,即社区版和企业版。本教程基于CentOS 7安装Docker CE。

1、安装Docker的依赖库。

yum install -y yum-utils device-mapper-persistent-data lvm2

2、添加Docker CE的软件源信息。

docker官方源: 

sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

 或者使用国内阿里云源(安装太慢/无法安装可以考虑用这个):

sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

 出现以下内容则代表设置源成功:

使用Docker部署前端项目实战教程,该踩的坑我都帮你踩了!

 3、安装Docker CE。

可以查看所有仓库中所有docker版本,并选择特定版本安装

yum list docker-ce --showduplicates | sort -r

使用Docker部署前端项目实战教程,该踩的坑我都帮你踩了!

下面是安装方式

sudo yum install docker-ce #由于repo中默认只开启stable仓库,故这里安装的是最新稳定版 3:20.10.8-3.el7
sudo yum install <FQPN>  # 例如:sudo yum install docker-ce-17.12.0.ce

 我用第一种安装方式。

4、启动Docker服务。

sudo systemctl start docker #  启动docker
sudo systemctl enable docker # 设置开机自启

使用Docker部署前端项目实战教程,该踩的坑我都帮你踩了!

 若不设置开机自启,那么一但服务器宕机或者重启,就得手动输命令重新启动,很麻烦。


准备Dockerfile并部署项目(构建新的业务镜像)

1、准备nginx.conf.template、Dockerfile、dist(前端项目build后的包)

为了方便管理我们统一放在目录frontend-docker下,以下代码段为步骤:

# 第一步
cd /

# 第二步 创建文件夹
mkdir frontend-docker

# 第三步
cd frontend-docker

# 第四步 创建nginx.conf.template并编辑好保存
vi nginx.conf.template #打开编辑贴上下面的文件内容再按 esc 然后 : wq保存

# 第五步 创建Dockerfile文件并编辑好保存
vi Dockerfile #打开编辑贴上下面的文件内容再按 esc 然后 : wq保存

# 第五步 上传vue项目build后的dist文件夹

nginx.conf.template 文件内容

user nginx;

#user  nobody;
worker_processes  1;

#error_log  logs/error.log;
#error_log  logs/error.log  notice;
#error_log  logs/error.log  info;

#pid        logs/nginx.pid;


events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    #access_log  logs/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    #keepalive_timeout  0;
    keepalive_timeout  65;

    #gzip  on;

    server {
        listen       80;
        server_name  localhost;

        #charset koi8-r;

        #access_log  logs/host.access.log  main;

        location / {
            root   /dist;
			#try_files $uri /index.html; #解决路由重定向跳转 404 页面配置
            index  index.html index.htm;
        }

        #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   html;
        }
    }


    # another virtual host using mix of IP-, name-, and port-based configuration
    #
    #server {
    #    listen       8000;
    #    listen       somename:8080;
    #    server_name  somename  alias  another.alias;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}


    # HTTPS server
    #
    #server {
    #    listen       443 ssl;
    #    server_name  localhost;

    #    ssl_certificate      cert.pem;
    #    ssl_certificate_key  cert.key;

    #    ssl_session_cache    shared:SSL:1m;
    #    ssl_session_timeout  5m;

    #    ssl_ciphers  HIGH:!aNULL:!MD5;
    #    ssl_prefer_server_ciphers  on;

    #    location / {
    #        root   html;
    #        index  index.html index.htm;
    #    }
    #}

}

Dockerfile文件内容 (业务镜像构建流程

FROM nginx:latest

RUN mkdir /dist
COPY ./dist /dist
COPY ./nginx.conf.template /

CMD envsubst < /nginx.conf.template > /etc/nginx/nginx.conf \
	&& cat /etc/nginx/nginx.conf \
	&& nginx -g 'daemon off;'

 该文件里主要是安装了nginx,复制dist、nginx.conf.template、启动nginx的步骤。

使用Docker部署前端项目实战教程,该踩的坑我都帮你踩了!

 注意:你复制粘贴时可能会无意丢掉头部几个单词,注意检查文件内容是否一致。

2、部署项目

上面的东西准备好后我们进入上面保存那三个文件的目录frontend-docker,已经在该目录的请忽略。

cd / 
cd frontend-docker
#已经在frontend-docker目录就不用执行这两条命令

构建镜像 

docker build -f Dockerfile -t my-frontend:v1.0 .
#注意最后那个点是必须的,代表当前目录

成功如下: 

使用Docker部署前端项目实战教程,该踩的坑我都帮你踩了!

设置容器运行镜像

docker run -d --name nginx01 -p 3000:80 --restart=always my-frontend:v1.0
# -后台运行
# --name nginx01  设置容器名字叫nginx01
# -p 3000:80 公网ip的3000端口对应该容器的80端口
# --restart=always设置了开机自启
# my-frontend:v1.0 构建的镜像的名字

使用Docker部署前端项目实战教程,该踩的坑我都帮你踩了!

最后浏览器公网ip:3000就可以打开了,若打开提示无法访问此网站请输入:

docker logs nginx01
#有报错信息的根据提示修改即可,一般多为前面my-frontend文件夹下的文件内容粘贴少了打头的几个字母

使用Docker部署前端项目实战教程,该踩的坑我都帮你踩了!

最后,上面的表示该vue项目已经成功部署! 经过验证重启服务器后仍旧可以正常打开! 

这里有一点提个醒,部分浏览器会禁用一些端口,例如谷歌禁用6666,如果出现下文的情况,请docker run的时候更换端口 !

无法访问此网站

网址为 http://106.126.3.4:6666/ 的网页可能暂时无法连接,或者它已永久性地移动到了新网址。


知识点(需要的可查阅)

容器命令(需要时可查)

常规命令

docker pull **** #下载最新的****
//新建容器运行
docker run [可选参数] imageid

#参数说明 
-d                # 后台方式运行
--name            # 容器名称 用来区分容器,例如nginx01
--restart=always  #开机自启

#下方为端口组合
-p                # 随机指定端口
    -p 主机端口:容器端口(常用)
    -p ip:主机端口容器端口
    -p 容器端口        
    容器的端口
-P
#详见菜鸟教程 or w3c

容器退出删除命令

exit #容器退出
Ctrl+P+Q #不停止推出

docker rm 容器id                  # 删除指定的容器 不能删除正在运行的
docker rm -f $(docker ps -aq)     # 删除所有容器
docker ps -a -q | xargs docker rm # 删除所有容器

启动、停止容器命令

docker start 容器id
docker restart 容器id
docker stop 容器id
docker kill 容器id

更多详细的命令还请大家查阅相关资料,这里不再一一列举。


结束语

以上关于docker前端部署的实战就差不多到此了,后续会推出前端自动化部署的方案,如果小伙伴们觉得满意,还请点个关注、收藏、或者赞赞支持一下😁。

使用Docker部署前端项目实战教程,该踩的坑我都帮你踩了!文章来源地址https://www.toymoban.com/news/detail-400662.html

到了这里,关于使用Docker部署前端项目实战教程,该踩的坑我都帮你踩了!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux 环境下使用 Docker 部署 Java 项目教程

    1. 安装 Docker:首先在 Linux 系统上安装 Docker,可以参考 Docker 官方文档进行安装。 2. 构建 Docker 镜像:将 Java 项目打包成 Jar 文件,并编写 Dockerfile 文件,使用 Dockerfile 文件构建 Docker 镜像。 dockerfile 文件内容如下:    FROM openjdk:8-jdk-alpine    VOLUME /tmp    ADD your-project-name

    2024年02月09日
    浏览(29)
  • 【使用Idea创建一键部署项目到Docker(保姆级教程)】

    Hello今天给大家带来如何一键部署项目到docker,什么事docker呢如果还有不会的建议先学习一下,这里仅整合资源, 参考原文 *这里注意如果你是新服务器,请先安装yum源 如果出现版本号说明成功了 在 ExecStart=/usr/bin/dockerd 追加 -H tcp://0.0.0.0:2375 -H unix://var/run/docker.sock 重启 Docker 让配置

    2024年02月09日
    浏览(30)
  • Stable Diffusion 本地部署教程 踩的一些坑

            参考教程 Stable Diffusion 本地部署教程 | AI技术聚合 一步一步进行本地部署,我在部署过程中遇到的一些问题 问题1          描述 : could not find a version that satisfies the requirement tb-nightly (from gfpgan) 无法安装 tb-nightly,然后尝试直接pip 安装,出现如下错误:   

    2024年02月16日
    浏览(60)
  • 【ubuntu】ubuntu 20.04安装docker,使用nginx部署前端项目,nginx.conf文件配置

    docker 官网:Install Docker Engine on Ubuntu 1.将apt升级到最新 2.使用apt安装 docker 和 docker-compose (遇到提示输入 y ) 3.将当前用户添加到docker用户组 4.运行hello-world 运行成功 1.修改配置文件 修改conf/nginx.conf 2.重新挂载 给容器设置自启动(如果提示就去掉sudo) 给docker设置开机自启动

    2024年01月20日
    浏览(47)
  • Docker的使用教程、学习笔记,附实战:部署chatgpt网页版ui,部署mysql8数据库

    作者:ChenZhen 博客地址:https://www.chenzhen.space/ 版权:来自b站视频 【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】 因为黑马的课件ppt做的实在是太好了,基本就是原样copy过来整理一下。 如果对你有帮助,请给一个小小的

    2024年02月04日
    浏览(51)
  • 【k8s完整实战教程4】使用kubesphere部署项目到k8s

    系列文章:这个系列已完结,如对您有帮助,求点赞收藏评论。 读者寄语: 再小的帆,也能远航! 【k8s完整实战教程0】前言 【k8s完整实战教程1】源码管理-Coding 【k8s完整实战教程2】腾讯云搭建k8s托管集群 【k8s完整实战教程3】k8s集群部署kubesphere 【k8s完整实战教程4】使用

    2023年04月18日
    浏览(55)
  • Docker | Docker+Nginx部署前端项目

    = ✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏:Docker系列 ✨特色专栏: MySQL学习 🥭本文内容:Docker | Docker+Nginx部署前端项目 📚个人知识库: [Leo知识库]https://gaoziman.gitee.io/blogs/),欢迎大家

    2024年02月04日
    浏览(40)
  • 【Docker】docker+Nginx部署前端项目

    安装 Docker 启动服务 start docker Docker中拉取 nginx 镜像 我们需要在根目录下创建Dockerfile文件和default.conf文件。 其中default.conf文件的名称是什么无所谓,只要在配置文件中注意使用相同名称即可。 Dokcerfile文件具体内容如下: FROM nginx:latest : 命令的意思该镜像是基于 nginx:latest 镜

    2023年04月08日
    浏览(43)
  • docker 项目部署 后端/前端

    1.先打包前端项目为dist 文件 npm run build !!!!! 重点 现在vscode 跑一下 看dist能不能跑起来 !!!!! 2.先安装nginx ,能成功跑起来 docker pull nginx 拉取nginx镜像 docker images 查看已有镜像 docker run --name nginx-test -p 9091:80 -d nginx 启动nginx 3. Nginx服务的配置和部署 `创建 conf文件目

    2024年02月10日
    浏览(78)
  • 关于虚拟机使用docker踩的坑

    在家码代码,已读不回的求职环境,本来就闹心,结果放个水回来电脑莫名其妙重启了(虚拟机没挂起),虚拟机重启,docker容器可以正常启动,但发现IDEA启动项目失败,各种连接不通。 使用下面命令尝试: Win =≠= docker Windows可以ping通192.169.0.111 ,但访问192.169.0.111:9200不通

    2024年04月16日
    浏览(18)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包