0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Docker開発手法案

Last updated at Posted at 2023-09-08

開発フロー

個々の開発

Docker開発個人.png

各開発でのフローを上図に示した。

  1. Gitからソースコード及び、コンテナの設計図であるDockerfileをPull(ダウンロード)する。
  2. 開発者がDockerfileをbuildし、コンテナを立ち上げ、ソースコードをコンテナにマウントし、コンテナ内で開発を行う。
  3. 開発したソースコードをコンテナ内からGitにPush(アップロード)を行う。(Dockerfileの変更後は適宜GitへPush)
  4. 1~3を繰り返す。

統合テスト

Docker開発統合テスト.png

統合テストのフローを上図に示した。

  1. Gitからソースコード及び、コンテナの設計図であるDockerfile、各コンテナを同時に動かすための設計図であるdocker-compose.ymlをPull(ダウンロード)する。
  2. 開発者がdocker-compose.ymlを用いて、コンテナを立ち上げ、ソースコードをコンテナにマウントし、コンテナ内で動作テストを行う。

タスク

  • それぞれのコンテナの環境設定
    • ライブラリ
    • バージョン
  • Dockerfileの作成
  • docker-compose.ymlの作成

VS Codeを使用しての開発

拡張機能 Remote-Containers

コンテナ内でVS Code Serverを立ち上げホストOSのVS Codeと通信によりローカル環境での開発が可能になる点、
コマンドを用いて、コンテナを立ち上げる必要もなくなるという利点をもつ。

image.png

拡張機能インストール

拡張機能から'Remote-Containers'をインストール

環境構築

任意のフォルダ(ここでは、Project)を作成し、その配下に.devcontainerというフォルダを作成します。
.devcontainerフォルダの中に、devcontainer.jsonとDockerfileを作成します。

Project
  └ .devcontainer/
     ├ devcontainer.json
     └ Dockerfile

devcontainer.json、Dockerfileにそれぞれ以下を記述します。

devcontainer.json
{
	"name": "Python Sample",
	"dockerFile": "Dockerfile",		// Dockerfileでイメージ・コンテナを作成
	"extensions": [					//リモート先のVS Codeにインストールする拡張機能
		"ms-python.python"
	]
}
FROM python:3.6

記述が終わったら、

左下の緑の><マーク?をクリックする。

スクリーンショット 2022-03-23 225338.jpg

一番上のOpen Folder in Containerをクリックし、Projectフォルダを選択すると、コンテナが立ち上がる。

スクリーンショット 2022-03-23 225404.jpg

スクリーンショット 2022-03-23 225555.jpg

作成したコンテナにPythonがインストールされているのを確認する。

スクリーンショット 2022-03-23 225530.jpg

もし、Pythonの拡張機能にこのような表示が出ている場合には、クリックし、インストールします。

Python動作確認

Project
  ├ test.py
  └ .devcontainer/
     ├ devcontainer.json
     └ Dockerfile

Project配下にtest.pyを作成し、以下を記述します。

test.py
print("Hello World!!")

F5を押し、Pythonを起動させ、
スクリーンショット 2022-03-23 230907.jpg

Hello World!!が出力されれば、成功です。

参考文献

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?