説明
この記事では、ドッキングウィンドウのUbuntuのミラーを構築する方法について説明し、一般的に使用されるコマンドが含まれている、Webサービスを提供するために、(nginxのは、独自のコンパイルされたバージョンを使用しています)nginxのミラーランタイムを開始します。
ビルドディレクトリを作成します。
新しいディレクトリにビルド、nginxのフォルダのローカルコピーをコンパイルしたディレクトリのミラーイメージを作成します。
mkdir build
cd build
cp -r /usr/local/nginx .
変更nginx/conf/nginx.conf
したいものを設定するには、ファイルを。ポート8000をリスニングこの場合、nginxのでは、Webサービスを提供しています。
ファイルstart.shを作成します。
このファイルは、nginxのを開始するために使用されます。これは次のように読み取ります。
#!/bin/bash
# 启动 nginx
nginx
# 循环,避免执行完命令后 docker 容器自动退出
while true; do sleep 1000; done
使用chmod +x start.sh
実行権限を持つファイルにコマンドを。
ファイルを作成しますDockerfile
これは次のように読み取ります。
# 基础镜像使用ubuntu16.04
FROM ubuntu:16.04
# 设置apt源
RUN echo "deb http://mirrors.163.com/ubuntu precise main universe" > /etc/apt/sources.list
# 安装 vim ping ifconfig ip tcpdump nc curl iptables python 常用命令
RUN apt-get -y update && apt-get -qq -y install vim iputils-ping net-tools iproute tcpdump netcat curl iptables
# 指定工作目录
WORKDIR /root
# 复制 nginx 目录
COPY nginx /usr/local/nginx
# 复制进程启动脚本
COPY start.sh .
# 设置 PATH 环境变量包含 nginx 可执行文件
ENV PATH "$PATH:/usr/local/nginx/sbin"
# 对外使用端口8000
EXPOSE 8000
# 执行启动脚本
CMD ["/root/start.sh"]
ミラーをコンパイルします
実行docker build --tag=myubuntu .
コンパイルするコマンドをmyubuntuミラーに知られるようになりました。
ランタイムイメージ
実行docker run -d --rm --name nginx -p 127.0.0.1:8000:8000 --privileged myubuntu
コマンド実行時の画像を。このコマンドは、ローカルポート8000を内部ポート8000をマッピングし、アドレス127.0.0.1をリッスンします。追加--privileged
通常の使用のためのオプションをiptables
コマンド。
Webサービスを確認してください
curlコマンドのチェックを開始するかどうかをコンテナnginxのは成功です。
root@ubuntu:~# curl 127.0.0.1:8000 -I
HTTP/1.1 200 OK
Server: nginx/1.12.2
Date: Sun, 16 Jun 2019 12:25:37 GMT
Content-Type: text/html
Content-Length: 612
Last-Modified: Sun, 16 Jun 2019 02:41:51 GMT
Connection: keep-alive
ETag: "5d05ac6f-264"
Accept-Ranges: bytes
サービスの上記の説明はOKです。
設定nginxのを修正
nginxの設定を変更するには、次のとおりです。
- コンテナの実行シェルに。
root@ubuntu:~# docker exec -it nginx /bin/bash
root@b67da4091091:~#
- viは、変更を使用し
/usr/local/nginx/conf/nginx.conf
た設定ファイルを。 - 実行
nginx -s reload
コマンドの原因は、新しい設定で動作するようにnginxの。 - 実行
exit
終了はシェル。