在Docker上进行可移植的应用程序开发

通过在Docker上构建开发环境,
可以在多台机器上进行应用程序开发和移植,
而无需关注环境的设置。

这次我在Docker容器上搭建了Python + Django的开发环境。

我将在该环境中启动Python服务器,并解释如何从主机PC的浏览器访问。

此次所创建的Docker镜像是https://hub.docker.com/r/rimacdocker/django

我们所进行的活动

我按照以下步骤在Docker上启动了用于Django开发的Web服务器。

    1. 在容器上建立Django开发环境

 

    使用Django创建应用程序并启动服务器。

这是主机端的环境。

苹果操作系统10.13.1
Docker容器 18.09.2

1. 在容器上搭建Django开发环境。

首先,在Docker容器上搭建Django开发环境。
具体步骤如下。

1-1. 获取操作系统映像,启动容器
1-2. 在容器中安装所需的软件包和库

获取操作系统镜像并启动容器

本次我们将获取最新的Ubuntu映像并启动容器。

将主机上的8000端口映射到容器的8000端口,以进行端口转发并启动。

# Ubuntuイメージの取得、コンテナの起動
docker run -p 8000:8000 -it ubuntu

注意事项: 端口转发

需要通过将主机端特定的端口号与容器端特定的端口号连接起来,以便从主机端访问在容器中启动的服务器。

1-2. 安装所需的软件包和库。

在基于Ubuntu镜像启动的容器上,安装所需的软件包等。
进行Djnago开发所需的软件包和库如下。

已安装的软件包

Ubunutuパッケージ

vim
python3
python3-pip

Pyhtonライブラリ

django

在容器上执行的命令

# パッケージマネージャの最新化
apt update
apt upgrade

# Python, Pipのインストール
apt install python3
apt install python3-pip --fix-missing

# Vimのインストール
apt install vim

# Djangoのインストール
pip3 install django

使用Django创建应用程序并启动服务器。

既经过步骤1使得Django可用,那么我们现在可以创建Django应用并启动开发用的Web服务器了。具体步骤如下:

2-1. 创建Django应用程序
2-2. 启动开发用Web服务器

创建Django应用程序

使用Django命令创建应用程序。

# 任意の作業用フォルダを作成 + 移動
mkdir django
cd django

# アプリケーションの作成
django-admin.py startproject dj_sample

2-2. 启动开发用的Web服务器

我们也可以使用Django命令来进行数据库迁移和启动Web服务器。

# 作成されるアプリケーションフォルダに移動
cd dj_sample/

# データベースマイグレーションの実行
python3 manage.py migrate 

# 開発用Webサーバーの起動
python3 manage.py runserver 0:8000

执行该命令将启动服务器,
在浏览器中访问http://127.0.0.1:8000,
即可显示Django的示例页面。

补充说明:数据库迁移

这是一个功能,可自动创建和管理在Django中使用的数据库定义。
通过这个功能,您可以不直接编写SQL语句,而是能够对数据库进行修改。

运行上述命令时,按照Django中的数据库定义生成对数据库的SQL语句。

补充说明:使用以下命令,开启服务器在本地的8000端口运行。

补足:
运行服务器指令:runserver 0:8000

一般来说,为了使通过Django在本地机器上启动的服务器可以从外部可见,需要将IP地址绑定到任意端口。

这次我们将容器化的服务器与本地机器关联起来,使其可以通过0.0.0.0的所有IP地址在8000端口进行访问。

在这里,绑定的端口需要与1-1中指定的端口转发设置相匹配,即需要与容器的端口号相同。

执行结果

在容器上运行Django。

root@86XXXXXXXXXX:~/django/dj_sample# python3 manage.py runserver 0:8000
Watching for file changes with StatReloader
Performing system checks...

System check identified no issues (0 silenced).
June 03, 2019 - 19:10:40
Django version 2.2.1, using settings 'dj_sample.settings'
Starting development server at http://0:8000/
Quit the server with CONTROL-C.
image.png

总结

通过在Docker上构建应用程序开发环境,
可以在具有不同操作系统和中间件的多台电脑上
以相同的环境进行开发。

另外,只需安装Docker,即可确保应用程序在与开发环境相同的环境中进行运行。

也有可能应用开发进展顺利。

bannerAds