首页 > 其他 > 详细

使用Dockerfile部署简单的应用

时间:2020-05-17 23:04:35      阅读:47      评论:0      收藏:0      [点我收藏+]

 

1、首先在centos安装uwsgi模块的时候可能会出现如下问题:<python.h>文件找不到,这是因为我们的一起前提环境没有安装好

1、搜索相应的前提环境
yum search python36-devel

2、 搜索出来的包进行安装
yum install python36-devel.x86_64

  

2、基于最基础的centos系统构建,基础的自定义基础镜像,Dockerfile如下:

FROM centos:7.6.1810

#安装
RUN set -ex     # 预安装所需组件
    && yum install -y wget tar libffi-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make initscripts     && yum install -y python36     && yum install -y epel-release     && yum install -y python-pip
# 基础环境配置
RUN set -ex     # 修改系统时区为东八区
    && rm -rf /etc/localtime     && ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime     && yum install -y vim     # 安装定时任务组件
    && yum -y install cronie
# 支持中文
RUN yum install kde-l10n-Chinese -y
RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8
# 更新pip版本
RUN pip install --upgrade pip
ENV LC_ALL zh_CN.UTF-8

yum install -y nginx

 使用命令:docker build -t  mycentos:2 .

 

3、已知基础镜像具有python、nginx了,下面我们写一个应用的Dockerfile文件

# 假如第二部的基础镜像是mycentos:2
FROM mycentos:2

EXPOSE 80
CMD nginx  

 使用命令:docker build -t my_nginx:2 . (这里的是在新的Dockerfile文件目录中敲命令)

 创建好镜像后,使用如下命令创建容器: docker run -itd --name demo -p 8000:80 my_nginx:2 /bin/bash; 最后说明哈,如果docker的运行必须要又一个前台程序,否则你启动容器马上就退出了,所以这里使用了-it

 

4、如果使用 netstat -tlunp 命令查看网络状态,看看是否8000端口监听服务,使用 curl -i localhost:8000 看看是否有回显,没有的话可以进入容器来看看是否正常,最后如果外网无法访问8000端口,如果不能则看看是否防火墙关闭,阿里的策略开启,最后如果还是不行的话,使用netstat -tlunp命令看看8000端口是否是tcp6,如果是则:

1、 vim /usr/lib/sysctl.d/00-system.conf, 添加一行:net.ipv4.ip_forward=1 
2、重启网络:systemctl restart network
3、重启docker:systemctl restart docker.service

  

 

 

使用Dockerfile部署简单的应用

原文:https://www.cnblogs.com/double-W/p/12907540.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!