让我们尝试使用Docker Compose和Python进行环境设置
首先
我想使用Docker Compose来创建Python环境。假设Docker已经安装完成,请继续操作。
环境
Note: This is the Chinese translation of “environment.”
以下是Docker和Docker Compose的版本。
Docker version 20.10.22, build 3a2c30b63a
Docker Compose version 2.20.3
docker的配置
使用Docker可以轻松自动化本地和远程机器上的环境配置。
文件架构
首先,我们将创建如下所示的文件结构。
docker_python
├── Dockerfile
├── app
│ └── sample.py
└── docker-compose.yml
Dockerfile
Docker文件
Docker自动通过读取Dockerfile来创建Docker映像。
Dockerfile是一个文本文件,用户可以在其中编写创建Docker映像所需的命令。
Dockerfile的编写方式如下。
FROM python:3.9
WORKDIR /app
COPY . .
-
- FROM python:3.9
ベースとなるイメージを指定しており、DockerfileはFROMの命令から始めなければならないというルールがあります。
WORKDIR /app
作業ディレクトリの指定しています。作業ディレクトリを指定することで、その後のRUN, CMD, ENTRYPOINT, COPY, ADDなどの命令がそのディレクトリで実行されます。
COPY . .
ファイルやディレクトリをコンテナのイメージにコピーしています。
最初の . はビルドコンテキスト(通常はDockerfileがあるディレクトリ)の中の全てのファイルとディレクトリを指します。
2番目の . はコンテナ内の作業ディレクトリを指します。この作業ディレクトリは、WORKDIR命令で指定されたディレクトリです。もしWORKDIRが設定されていなければ、ルートディレクトリを指します。
docker-compose.yml的意思是Docker组合.yml。
docker-compose.yml是用于定义和执行多个Docker容器的配置文件。
它以YAML格式编写,并单独定义每个服务。
version: "3"
services:
docker_python:
container_name: python
build:
context: .
dockerfile: Dockerfile
working_dir: "/app/"
tty: true
volumes:
- .:/app
-
- version:
使用するdocker-composeファイルフォーマットのバージョンを指定します。
build:
Dockerfileのあるディレクトリやビルドの指定します。
context: .
ビルドコンテキストを指定します。. はカレントディレクトリを意味します。
dockerfile: Dockerfile
イメージのビルドに使用するDockerfileの名前を指定します。この場合、カレントディレクトリにあるDockerfileという名前のファイルを指します。
working_dir: “/app/”
コンテナ内の作業ディレクトリを/app/に設定する。
tty: true
擬似TTYを割り当てるもので、ターミナルでコンテナとやり取りしたい場合に便利です。
.:/app
ホストのカレントディレクトリをコンテナ内の /app にマッピングします。これによって開発時にホストのappディレクトリで行った変更が即座にコンテナ内に反映されます。
样本.py
为了确认操作,我们会在sample.py文件中写下以下一行。
print("Hello World!")
构建和启动Docker容器。
通过以下命令创建和启动容器。
cd docker_python
docker compose up -d --build
连接至容器并输出Hello World!
首先,将容器连接起来。
docker exec -it python bash
在连接到容器的状态下执行以下操作
root@57ce8b6f9197:/app# python3 app/sample.py
你好世界将被输出。
现在,我们已经成功在Docker和Python环境下完成了设置。
Hello World!
最后
这次我尝试使用docker-compose和Python进行环境搭建。
由于Docker非常实用,我希望将来能积极地继续使用。
以上是全部。辛苦了。