간단한 Dockerfile을 만들어 컨테이너를 시작합니다.
소개
간단한 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을 만들고 컨테이너를 시작하는 것을했습니다!
Reference
이 문제에 관하여(간단한 Dockerfile을 만들어 컨테이너를 시작합니다.), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/arinco_/items/9bd6b97a6ad7e408359e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)