Docker Dockerfile
FROM
ベースイメージを指定
RUN
コンテナ上のOSへの命令を指定
RUN apt-get update && install -y ~
LABEL
タグ付け
LABEL maintainer yone
LABEL version=1.0 maintainer=office\ yone
※=を用いる書式の場合、 :にはエスケープが必要
EXPOSE
コンテナがListenするポートをDockerに通知、外部からの接続を指定
EXPOSE 80
ENV
環境変数の指定
ENV HOST=LOCALHOST \
USER=root \
PASSWORD=XXXXX \
COPY
イメージのbuild時、ホストOS錠のファイルをコンテナへのコピーを指定
COPY コピー元 コピー先
COPY httpd.conf /usr/local/apache2/conf/httpd.conf
ADD
イメージのbuild時、ホストOS錠のファイルをコンテナへのコピー&展開(解凍)を指定
VOLUME
コンテナ上のマウントされるディレクトリの指定
作成例
apache
※Dockerfile
FROM httpd
COPY ./html/index.html /usr/local/apache2/htdocs/
COPY ./html/httpd.conf /usr/local/apache2/conf/httpd.conf
EXPOSE 80
nginx
※Dockerfile
FROM nginx
COPY ./default.conf /etc/nginx/conf.d/default.conf
EXPOSE 80
MySQL
※Dockerfile
FROM mysql:5
ENV MYSQL_ROOT_PASSWORD=XXXXXX
CMD [
“mysqld”,
“--
character-set-server=utf8mb4″,”--
collation-server=utf8mb4_unicode_ci”]
※Dockerコマンド
docker run
--
volumes-from=コンテナ名
--
name=コンテナ名
--
net=ネットワーク名
-d イメージ名
PHPMyAdmin
※Dockerfile
FROM phpmyadmin/phpmyadmin
ENV PMA_HOST=mysql-container \
PMA_USER=root \
PMA_PASSWORD=XXXXXX
※Dockerコマンド
docker run
--
net=ネットワーク名
--
name=コンテナ名
-p 8080:80
-d イメージ名
WordPress
※Dockerfile
FROM wordpress
ENV WORDPRESS_DB_HOST=MySQLコンテナ名
WORDPRESS_DB_USER=MySQLユーザ名
WORDPRESS_DB_PASSWORD=MySQLパスワード
※Dockerコマンド
docker run
--
net=ネットワーク名
--
name=コンテナ名
-p 80:80
-d イメージ名