使用docker 快速构建环境
- mysql
- python+flask
- nginx
安装docker
#安装一些依赖
yum install -y yum-utils device-mapper-persistent-data lvm2
#配置docker仓库
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
#查看都有那些版本
yum list docker-ce --showduplicates | sort -r
#找到版本后,安装对应版本docekr-ce-<版本号> docker-ce-cli-<版本号>
yum install docker-ce-19.03.9-3.el7 docker-ce-cli-19.03.9-3.el7 containerd.io
systemctl start docker #启动docker
systemctl enable docker#开机启动docker
启动mysql
#查看仓库中的mysql
docker search mysql
#创建一个目录为数据库做持久化
mkdir -p /home/mySql/db
#启动容器
docker run -itd --name mysql-test -v /home/mySql/db:/var/lib/mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=**** mysql
启动python环境容器
#先上传我们的三个文件,详情参考上一篇
#输出安装的包
pip freeze >requirement.txt
#上传requirement.txt到与py文件统计
#写DockerFile
FROM python:3.6.5
ADD ./code /app
WORKDIR /app
RUN pip install -r requirement.txt
CMD ["python","py_flask.py"]
#制作镜像
docker build -t flask .
#启动容器
docker run --name flask -p 5000:5000 --link mysql-test:mysql -d flask
启动nginx容器
#拉取镜像
docker pull nginx
#配置nginx server
vim flask.conf
server {
listen 80;
server_name 服务器ip;
location / {
proxy_pass http://flask:5000;
}
access_log /var/log/access_unicom.log main;
}
#启动nginx 容器
docker run --name nginx -p 80:80 -v /home/RF/CODE/flask.conf:/etc/nginx/conf.d/flask.conf --link flask -d nginx
现在映射出来ngixn的配置文件,但是因为容器直接指定端口,这些还是不方便,应该用docker-compose这个docker编排工具,这个我们后续再看。
参考资料:https://www.cnblogs.com/luozx207/p/9935252.html
参考文件写的更细致一些,这边只是多做了mysql持久化,和nginx映射文件,后面的docker-compose可能会和参考的不太一样(未完待续)