0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

[初心者]Dockerの基本的な流れメモ

Last updated at Posted at 2024-04-02

はじめに

Dockerをインストールしている前提です。

基本的な流れ

Docekrfileの作成

自分のローカルディレクトリに"Dockerfile"(拡張子なし)という名前でファイルを作成します。
このDockerfileには、ビルドするイメージのベースとなるOSや、インストールするプログラム、コピーするファイルなど、イメージに含めたい設定を記述します。

他人のDockerfileを取得することも可能です。(DockerHubなど)

Dockerfileからイメージをビルド

ここで、-t はビルドされるイメージに名前を付けるオプションです。.はDockerfileがあるディレクトリを指しており、Dockerはこのディレクトリをコンテキストとして使用します。
このステップにより、アプリケーションとその依存関係を含むイメージが作成されます。これにより、どの環境でも同じ条件でアプリケーションを実行できるようになります。

docker build -t my-custom-python .

イメージをrun

このコマンドは、my-custom-pythonという名前のイメージから新しいコンテナを起動し、そのコンテナ内でシェルを開始します。
-itオプションは、インタラクティブモードでターミナル入力を可能にするためのものです。これにより、コンテナ内でコマンドを実行したり、アプリケーションを手動で操作したりすることができます。
コンテナは、定義された環境でアプリケーションを隔離して実行するための軽量な実行単位です。

sudo docker run -it --name predict-server predict-server /bin/sh

これでDockerの中でCLI操作していきます。(Dockerファイルに実行まで書かれているならしなくても良くなる。任意)

Dockerfileの書き方

#途中までpython3.11の公式Dokerfileです。

#
# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh"
#
# PLEASE DO NOT EDIT IT DIRECTLY.
#

FROM alpine:3.18

# ensure local python is preferred over distribution python
ENV PATH /usr/local/bin:$PATH


・
・
・
・


# 以下編集
# 必要なツールのインストール
RUN apk add --no-cache nano curl git bash

# 作業ディレクトリを設定
WORKDIR /app

# アプリケーションのファイルをコンテナにコピー
COPY . /app

#requirements.txtなら以下のように
RUN pip install -r app/requirements.txt

メモ

DockerfileにOSいれても、コンテナではOS動かさないんじゃないの?

DockerfileでOSを指定すると、実際にはフルOSをコンテナ内で動かすわけではありません。Dockerイメージは、カーネルを含まない軽量なOSレイヤーを提供します。これは、ホストOSのカーネル機能を利用して、必要なユーザースペースツール、ライブラリ、アプリケーションを動かすためのものです。
らしい、、、

コマンド一覧

docker container ls
docker run -v .:/app -dit pre-server0410
docker exec -it 764ce1de1840 bash

0
1
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
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?