欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

docker發(fā)布web(docker發(fā)布h5程序)

林玟書1年前7瀏覽0評論

隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,現(xiàn)如今web應(yīng)用的開發(fā)越來越迅速,然而在應(yīng)用的發(fā)布環(huán)節(jié)上卻仍有不少繁瑣的工作,比如如何在不同的環(huán)境中,快速、且不產(chǎn)生沖突地發(fā)布應(yīng)用,這個問題對于很多開發(fā)者來說仍然是一個頭疼的問題。而這時候docker就能派上用場。

首先,什么是Docker?Docker 是一個開源項(xiàng)目,它為開發(fā)者提供了數(shù)據(jù)容器、鏡像打包、發(fā)布和運(yùn)行的能力,使開發(fā)者可以輕松創(chuàng)建、部署和運(yùn)行應(yīng)用程序,而不必關(guān)心應(yīng)用程序在不同環(huán)境下的變化問題。因此,將web應(yīng)用鏡像化并通過Docker部署是一種非常好的選擇。

下面我們來看如何使用Docker發(fā)布web應(yīng)用。首先,需要在docker中安裝所需的軟件環(huán)境,例如Python,Nginx等。下面是利用Dockerfile編寫的安裝Python環(huán)境的代碼示例:

#定義一個從Ubuntu16.04的開始的基礎(chǔ)鏡像
FROM ubuntu:16.04
#更新依賴
RUN apt-get update && apt-get install -y \
python3.5 \
python3.5-dev \
python3-pip \
libpq-dev \
libmysqlclient-dev
#安裝必備python庫
RUN pip3 install --upgrade pip \
&& ln -s /usr/bin/python3 /usr/bin/python \
&& ln -s /usr/bin/pip3 /usr/bin/pip \
&& pip install -i https://pypi.tuna.tsinghua.edu.cn/simple setuptools \
wheel \
uwsgi \
uwsgitop
#創(chuàng)建一個代碼和靜態(tài)文件的鏡像目錄
ENV DJANGO_HOME /djangoApp
RUN mkdir -p $DJANGO_HOME
WORKDIR $DJANGO_HOME
#將當(dāng)前項(xiàng)目目錄(.)加入到代碼文件及靜態(tài)文件的鏡像目錄中
COPY . $DJANGO_HOME
#將本地的nginx代理配置文件復(fù)制到容器的/etc/nginx/sites-available/目錄中
COPY ./config/nginx.conf /etc/nginx/sites-available/

接著,我們編寫Docker Compose文件中來啟動我們的web應(yīng)用程序。下面是一個典型的Docker Compose文件示例:

version: '3'
services:
django:
build: .
command: bash -c "python manage.py makemigrations && python manage.py migrate && python manage.py runserver 0.0.0.0:8000"
volumes:
- .:/djangoApp
ports: # 映射容器端口
- "8000:8000" 
depends_on:
- mysql
networks: # 集成到公共網(wǎng)絡(luò)中
- public_net
mysql:
image: mysql:5.7
environment:
MYSQL_ROOT_PASSWORD: 123456
MYSQL_DATABASE: db_test
volumes:
- mysql_data:/var/lib/mysql
networks:
- public_net
networks:
public_net:
driver: bridge
volumes:
mysql_data:

我們通過創(chuàng)建定義各類組件的yaml格式的描述文件,運(yùn)行文本命令啟動各個組件,最終將所有組合起來發(fā)布出去。

綜上所述,使用Docker發(fā)布web,大大減輕了開發(fā)者的運(yùn)維負(fù)擔(dān),為web開發(fā)提供了更方便、快捷的部署方式。