データセンタープログラミング09(3)
3238 ワード
09-ドッキング・ファイルと画像の作成
🔴 Dockerファイルの意味は?
◽ Docker-file
: "A Dockerfile is a text document that contains all the commands a user could call on the command line to assemble an image."
eユーザがコマンドラインから画像を合成するために呼び出すことができるすべてのコマンドを含む文書ドキュメント.
◽ Using docker build
: "Users can create an automated build that executes several command-line instructions in succession."
「101 dockerコンストラクション」を使用すると、複数のコマンドラインコマンドを連続的に実行する自動コンストラクションを作成できます.
🔹 すなわち、ドッキングファイルは、コンテナ画像を作成するためのテキストベースの説明のスクリプトである.
®参考文献:https://docs.docker.com/engine/reference/builder/
🟠 DOKERファイル命令?
FROM
:画像を指定するコマンドLABEL
:バージョン情報や画像の説明を記述するコマンドCMD
:dockerコンテナ起動時に実行するshellコマンドを指定するコマンドRUN
:docker画像を生成する前に実行するshellコマンドENTRYPOINT
:埠頭コンテナ起動時に実行する命令EXPOSE
:埠頭コンテナ公開港設置命令語ENV
:埠頭コンテナ内部で使用する環境変数を特定するコマンドWORKDIR
:Dockerコンテナ作業ディレクトリの設定命令COPY
:dockerクライアントの現在のディレクトリからファイルを追加するコマンドADD
:dockerイメージにファイルとディレクトリまたは特定のURLのデータを追加するコマンドSHELL
:shellプログラムを指定するコマンド(CMDコマンドで代用可能)ARG
:dockerfile内に必要な変数を設定するコマンドUSER
:docker image&コンテナで動作するユーザIDを指定するコマンドONBUILD
:新画像生成時に実行するコマンドVOLUME
:dockerイメージにボリュームを生成するコマンド# ubuntu:14.04 태그 값 (FROM <이미지 이름>:<태그>)
FROM ubuntu:14.04
MAINTAINER:
# RUN은 Dockerfile이 이미지를 생성하는 과정에서 실행될 명령어
RUN apt-get update
RUN apt-get install -y nginx
RUN echo "this is a ubuntu container"
# 명령을 실행하기 위한 디렉토리를 지정
WORKDIR /etc/nginx
# 이미지에 포함되어 있는 SW를 실행하는데 사용
CMD ["nginx", "-g", "daemon off;"]
# container가 연결을 받는 port
EXPOSE 80
docker build --tag myubuntu:1.0 .
docker image ls
docker run --name myubuntu-nginx -d -p 4000:80 myubuntu:1.0
docker container ls
docker stats
# localhost:4000
🟤 ドクパの一生性と画像の構築例2# 이미지 이름을 'ubuntu'로 함
FROM ubuntu
# Dockerfile이 이미지를 생성하는 과정에서 업데이트, nginx를 설치 후 자동으로 'yes'함 (터미널에서 아래의 명령을 실행)
# apt-get은 리눅스 배포판 중의 하나인 우분투에서 사용할 수 있는 일종의 앱스토어
# update는 설치할 수 있는 프로그램들의 목록을 최신상태로 갱신
RUN apt-get update
RUN apt-get install nginx -y
# 웹브라우저가 요청했을 때 웹서버가 웹페이지의 파일을 찾는 디렉토리
COPY index.html /var/www/html/
# port = 80
EXPOSE 80
# 서버 실행
CMD ["nginx","-g","daemon off;"]
docker build --tag myubuntu:1.0 .
docker image ls
docker run -p 5000:80 myubuntu:1.0
docker container ls
docker stats
# localhost:5000
🦒 に注意🦒 Reference
この問題について(データセンタープログラミング09(3)), 我々は、より多くの情報をここで見つけました https://velog.io/@dkddkkd55/데이터센터프로그래밍093テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol