2020年3月9日 02:06 by wst
docker使用原因有很多种,个人观点是:
使用Docker安装服务,比如MySQL。这样就不用修改系统的环境,省的和其他的软件相互影响。
服务部署
这里采用的方式是,先启动MySQL容器,然后再启动server 容器。
1. 启动MySQL容器:
拉取镜像:
docker pull mysql:5.7
构建容器:
docker run -itd -e MYSQL_ROOT_PASSWORD=123456 --name wst_mysql -p 3306:3306 mysql:5.7
2. 启动Server容器
编写Dockerfile:
FROM python:3.6.10
#定义时区参数
ENV TZ=Asia/Shanghai
# 设置编码
ENV LC_ALL C.UTF-8
#设置时区
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo '$TZ' > /etc/timezone
# 设置工作目录
WORKDIR /code
COPY . /code
RUN pip install -r /code/requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
EXPOSE 8000
ENV FLASK_CONFIG development
CMD ["run.py"]
ENTRYPOINT ["python"]
构建容器,进入Dockerfile所在目录后执行:
docker build -t abc:1.0 .
根据镜像生成容器:
docker run -itd --name bd -p 8000:8000 --link wst_mysql:db abc:1.0
注意这里的--link, 目的是使容器之间互联,即bd可以访问wst_mysql, 在bd中访问MySQL时需使用host:db
后续:
当然还有更好的方法,比如使用compose构建服务,等有时间再研究,欢迎留言!