docker部署路飞学城blog来啦
部署需求分析:
之前是将nginx、django、vue直接部署在服务器上,既然学了docker,试试怎么部署在docker中
1.环境准备
一台linux服务器 centos7
安装好docker systemctl start docker
vue代码
django后端代码
3.注意修改vue提交axaj请求的地址
修改vue接口代码文件/opt/07-luffy_project_01/src/restful/api.js
vue.js需要发送请求给django后端接口,改成容器的ip地址
sed -i "s/127.0.0.1/172.17.0.3/g" /opt/07-luffy_project_01/src/restful/api.js
然后重新打包vue的静态文件,生成dist目录,提供给nginx
第一步,准备nginx的运行容器
nginx容器构建目录如下
nginx_docker 一级目录 ├── CentOS-Base.repo 用于修改容器的yum源 ├── dist 将本地的dist文件夹拷贝到容器内 ├── Dockerfile 用于构建镜像 ├── epel.repo 用于修改容器的yum源 └── nginx.conf 将本地的nginx.conf配置文件,拷贝到容器内,生效nginx配置
配置文件如下:
cat Dockerfile 内容如下
[root@web02 nginx_docker]# cat Dockerfile FROM centos MAINTAINER yugo ADD CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo ADD epel.repo /etc/yum.repos.d/epel.repo RUN yum clean all RUN yum install nginx -y COPY nginx.conf /etc/nginx/nginx.conf COPY dist /opt/dist EXPOSE 80 ENTRYPOINT nginx -g "daemon off;"
cat nginx.conf内容如下
[root@web02 nginx_docker]# cat nginx.conf worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; server { listen 80; server_name luffy_nginx.cn; location / { root /opt/dist; index index.html; } } server { listen 8000; server_name luffy_nginx.cn; location / { uwsgi_pass luffy_backend.cn:9000; include uwsgi_params; } } }
构建nginx镜像
docker build -t luffy_nginx .
运行nginx镜像,产生容器实例
docker run -d -p80:80 luffy_nginx
查看产生容器的ip地址信息,进行dnsmasq域名解析
docker inspect --format '{{ .NetworkSettings.IPAddress }}' 容器id
通过windows/Macos访问linux的ip地址,查看容器端口映射结果
此时已经配置好了nginx反向代理与vue的静态文件,开始配置后端代码!!!!