ターゲット環境の説明をミラーリング:
オペレーティングシステム:ubuntu16.04
Pythonのバージョン:3.7.4パイソン
Djangoのバージョン:2.2
ステップ:
(少し)1.インストールのドッキングウィンドウのローカル環境
2.プルubunut指定されたイメージファイルのバージョン
ドッキングウィンドウのUbuntuを引く:16.04
3.コンテナを開始し、ポートマッピングを指定します
補足出発点コンテナ注:
起動時、パラメータを追加-t -it差別、https://www.cnblogs.com/miracle-luna/p/11111852.html
-i:ファイル名を指定して実行容器対話モードでは、通常と-同じ時間の使用トン;
-t:通常-iと組み合わせて使用した容器のための擬似入力端子の再配分、;
-itは-このパラメータを増加させない場合は、実行するコンテナ、コンテナが作成されるがことがわかったが、正常に起動し、あなたはなかったです実行ドッキングウィンドウが起動したときに***見つからないか、または起動しないので、パラメータを追加しなければならない容器を、実行時に-iまたは-tパラメータも、理解することができます。
注意:一般的に、あなたは、ドッキングウィンドウの実装では、-iまたは-itプラスの後にコンテナを起動するために-tを追加することができ、今回実装CTRL + Cで終了するかどうかを確認するためにXXXの容器出力attachコマンドを容器から直接つながります。だから、一般-d(デーモン開始)を追加するときにコンテナを起動-t擬似端末を割り当てるために使用されます。
次のように:
ドッカーRUNは8000 -p -d:8000 --name dj22_py37 -tのUbuntu:16.04
図以下:CTRL + Cは、端末を終了することを余儀なくされ、容器が閉じられていません。
容器、検証システムのバージョンに4は、共通のパッケージをインストールし、python3.7.4のPIP3のdjango2.2
docker exec -u root -it dj22_py37 /bin/bash
镜像比较干净, 镜像文件只有120M,并且里边没装python
先安装zip vim 等包
apt-get install zip
apt-get install vim
OK,开始安装当前最新版python3.7.4
下载地址:https://www.python.org/downloads/
也可以通过如下FTP地址下载:https://www.python.org/ftp/python/3.7.4/
将该文件上传到容器内部,解压:
先安装python依赖环境: apt-get install zlib1g-dev libbz2-dev libssl-dev libncurses5-dev libsqlite3-dev libreadline-dev tk-dev libgdbm-dev libdb-dev libpcap-dev xz-utils libexpat1-dev liblzma-dev libffi-dev libc6-dev --时间较长,耐心等待 解压python压缩文件: tar -zxvf Python-3.7.4.tgz 解压后,进入目录: cd Python-3.7.4 建立本地安装目录: mkdir -p /usr/local/python3 编译安装: 执行这步时,建议后边加上参数:--enable-optimizations 字面意思就是"开启优化",会自动安装pip3及优化配置,但是这会造成编译安装需要较长到时间,如果网络环境不稳定,或者着急使用python环境,可以不加该参数!!! ./configure --prefix=/usr/local/python3 --enable-optimizations make #耐心等待 make install
到此,本地编译安装已完成
这里由于是纯净的环境,假如同学你本地环境之前安装过python,则需要将原先/usr/bin/下的python相关链接删除,要不即使你安装了新的python,但是系统默认还会读取你原先的环境。
通过如下命令删除旧的环境软链接配置,这块操作谨慎!!!---本地原先没有python环境的同学,可以忽略如下步骤,跳过执行下一步。
rm -rf /usr/bin/python3
rm -rf /usr/bin/pip3
建立软链接,将本地编译安装的/user/local/python下的执行文件 指向/user/bin下
#添加python3的软链接 ---如果本地环境没有装python2,也不打算用python2,可以直接将链接指向写成/usr/bin/python,也是可以的,这样每次进入终端环境或者运行程序,直接输入python就可以,但是还是建议2和3区分开指向。 ln -s /usr/local/python3/bin/python3.7 /usr/bin/python3 #添加 pip3 的软链接 ln -s /usr/local/python3/bin/pip3.7 /usr/bin/pip3
验证版本:
root@c3af9f44f7f7:/# python3 -V Python 3.7.4 root@c3af9f44f7f7:/# pip3 -V pip 19.0.3 from /usr/local/python3/lib/python3.7/site-packages/pip (python 3.7)
OK,至此,python3.7.4 环境安装完成。
下一步开始安装:django 2.2
参考官方文档:https://www.djangoproject.com/download/
因为我们上边安装的是pip3,所以安装命令需要改成如下:
pip3 install Django==2.2.4
安装完成后,查看Django版本
python3 import django django.get_version()
安装django框架下,python连接postgresql的驱动: psycopg2
pip3 install psycopg2
直接安装出现如下错误:
网络查找ubuntu环境下,报错原因:---小伙伴们注意,如下处理方式只适用于解决ubunut下的安装异常,对于其他系统的异常如下内容请作选择性参考!!!
Error: pg_config executable not found. pg_config is in postgresql-devel (libpq-dev in Debian/Ubuntu) 1)安装libpq-dev apt-get install libpq-dev python-dev 2)然后重新执行: pip3 install psycopg2 ------------------------------------------------------ root@c3af9f44f7f7:/# pip3 install psycopg2 Collecting psycopg2 Using cached https://files.pythonhosted.org/packages/5c/1c/6997288da181277a0c29bc39a5f9143ff20b8c99f2a7d059cfb55163e165/psycopg2-2.8.3.tar.gz Installing collected packages: psycopg2 Running setup.py install for psycopg2 ... done Successfully installed psycopg2-2.8.3 You are using pip version 19.0.3, however version 19.2.1 is available. You should consider upgrading via the 'pip install --upgrade pip' command. root@c3af9f44f7f7:/#
验证版本:
OK, 至此基础环境已经配置完成。
docker commit c3af9f44f7f7 dj22_py37:1.0 ---耐心等待
镜像创建成功,可以打包备份:
docker save dj22_py37:1.0 -o /home/dj22_py37.tar