Docker创建Ubuntu-Python-Flask

部署

一、拉取镜像

docker pull ubuntu:16.04

二、使用镜像创建容器

docker run -it --name=ubuntu_flask ubuntu:16.04 /bin/bash

三、更新apt-get

apt-get update

四、安装wget

# https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.37-1.el7.x86_64.rpm-bundle.tar
apt-get install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libreadline-dev libffi-dev wget

五、使用wget下载python3.8

wget https://www.python.org/ftp/python/3.8.0/Python-3.8.0.tgz

六、解压Python包

tar -xf Python-3.8.0.tgz
cd Python-3.8.0
# ./configure --enable-optimizations
# --enable-optimizations选项通过运行多个测试来优化Python二进制文件。 这会使构建过程变慢。

七、安装依赖

apt-get install python-dev
apt-get install libffi-dev
apt-get install libssl-dev
apt-get install -y make build-essential libssl-dev zlib1g-dev libbz2-dev libreadline-dev libsqlite3-dev wget curl llvm libncurses5-dev libncursesw5-dev xz-utils tk-dev

八、安装python二进制文件

./configure prefix=/usr/local/python3
make  &&  make install

九、修改软链接

备份之前的:mv /usr/bin/python /usr/bin/python.bak
添加python3软链接:ln -s /usr/local/python3/bin/python3 /usr/bin/python
添加pip3软链接:ln -s /usr/local/python3/bin/pip3 /usr/bin/pip
最后执行python即可,不在需要python3

十、安装flask、requests

pip install flask
pip install requests

十一、commit一个新镜像

docker commit ubuntu_flask ubuntu_flask:v1
注:ubuntu_flask 容器名
   ubuntu_flask:v1  镜像名  和  TAG

十二、使用新的镜像生成一个新的容器

docker run -dit --restart=always --name=gdt_flask -p 9999:9999 -e LANG=en_US.UTF-8 ubuntu_flask:v1 bash /root/auto_run_gdt.sh

注:–restart=always Docker容器,容器自启
–name=xxx 容器名字
-p 端口:[主机端口:容器端口]
-dit 后台交互模式运行容器,分配一个伪终端
-e 给容器设置语言LANG=en_US.UTF-8 英文UTF-8
可以进入容器后 locale查看容器语言
如果出现错误:
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
解决办法:
locale-gen en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
执行locale-gen en_US.UTF-8遇到 bash: locale-gen: command not found
解决办法:
apt-get install -y locales
localedef -i en_US -c -f UTF-8 -A /usr/share/locale/locale.alias en_US.UTF-8
然后再次执行
locale-gen en_US.UTF-8
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8

十三、打包镜像

docker save -o 保存的文件名 镜像名:TAG
保存镜像为tar文件

十四、在其他机器加载镜像

docker load -i 镜像包tar文件

Fighter_ma: 弱小和无知不是生存的障碍,傲慢才是~

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值