간단한 Dockerfile을 만들어 컨테이너를 시작합니다.

4222 단어 초보자PHP도커

소개



간단한 Dockerfile을 만들어 컨테이너를 시작합니다.

준비



# Dockerfile 作成
$ touch Dockerfile

# Dockerfile 編集
$ vi Dockerfile

# vi 操作
# i を押して インサートモード
# 下記 Dockerfile の内容をコピーペースト
# ペーストしたら esc でコマンドモード
# :wq と入力しエンター で保存して終了

$ touch index.php
$ vi index.php
# Dockerfileの時と同様に、 vi 操作でコピーペースト

아래 두 파일을 만들 수 있다면 OK

Dockerfile
# FROM で元となるイメージの指定
FROM php:apache
# Dockerfileが存在するディレクトリの内容を、 イメージのファイルシステム上のパス /var/www/html/ にコピー
COPY . /var/www/html/

index.php
<?php
// phpinfo — PHP の設定情報を出力する
phpinfo();
?>

이미지 빌드



방금 만든 Dockerfile이있는 디렉토리에서 실행

# -t で ビルドするイメージに php-test という名前をつける
# . は 元になるDockerfileの位置を指定
$ docker build -t php-test .

# イメージ一覧表示
$ docker image ls
REPOSITORY   TAG       IMAGE ID       CREATED              SIZE
php-test     latest    9261467f1c80   About a minute ago   473MB

# ↑php-test という名前のイメージがあればOK!


컨테이너 생성



# -d (デタッチド) コンテナをバックグラウンドで起動
# -p 80:80 (ポートフォワード) localhost の80番ポート にアクセスが来たら コンテナ の80番ポートに繋ぐ
# --name (コンテナ名) コンテナ名を php-test-container にする
# php-test イメージを元にコンテナを作成する
$ docker run -d -p 80:80 --name php-test-container php-test

# 起動しているコンテナを一覧表示
$ docker container ls
# 一部項目省略 
CONTAINER ID   IMAGE      CREATED         STATUS         PORTS                NAMES
08020b5a1b50   php-test   6 seconds ago   Up 5 seconds   0.0.0.0:80->80/tcp   php-test-container

# コンテナが立ち上がったので localhost を開く
$ open http://localhost 

아래 이미지와 같은 화면이 표시되면 성공!



Dockerfile의 COPY에 대한 보충



# コンテナ内のshell(bash)を起動し操作できるようにする
$ docker exec -it php-test-container bash

# root@[コンテナIDの一部]:[イメージのファイルシステム上のパス] 
root@b41c68711750:/var/www/html# ls
# Dockerfileに記載した COPY . /var/www/html/ でcopyされた Dokerfile と index.php が表示される 
Dockerfile  index.php 

# コンテナ内のshellから抜ける
root@b41c68711750:/var/www/html# exit


정리



# コンテナ停止
$ docker stop php-test-container
php-test-container # コンテナ名表示されれば成功

# コンテナ削除
$ docker rm php-test-container                             
php-test-container # コンテナ名表示されれば成功

# イメージ削除
$ docker rmi php-test       
Untagged: php-test:latest
Deleted: sha256:7103bbe5f77b40234a9b8791b1ab3383c8e0fc1a9fc8489bb40922177753c4a6 # deleted 表示で成功

요약



간단한 Dockerfile을 만들고 컨테이너를 시작하는 것을했습니다!

좋은 웹페이지 즐겨찾기