{"id":83,"date":"2019-02-10T17:33:41","date_gmt":"2019-02-10T09:33:41","guid":{"rendered":"http:\/\/b.yesiyu.top\/?p=83"},"modified":"2019-02-10T17:33:41","modified_gmt":"2019-02-10T09:33:41","slug":"docker-%e5%ae%89%e8%a3%85-apache","status":"publish","type":"post","link":"https:\/\/b.yesiyu.top\/?p=83","title":{"rendered":"Docker \u5b89\u88c5 Apache"},"content":{"rendered":"<h3>\u65b9\u6cd5\u4e00\u3001docker pull httpd<\/h3>\n<p>\u67e5\u627eDocker Hub\u4e0a\u7684httpd\u955c\u50cf<\/p>\n<pre class=\"prettyprint prettyprinted\"><span class=\"pln\">runoob@runoob<\/span><span class=\"pun\">:~\/<\/span><span class=\"pln\">apache$ docker search httpd\r\nNAME                           DESCRIPTION                  STARS  OFFICIAL AUTOMATED\r\nhttpd                          <\/span><span class=\"typ\">The<\/span> <span class=\"typ\">Apache<\/span><span class=\"pln\"> HTTP <\/span><span class=\"typ\">Server<\/span> <span class=\"pun\">..<\/span>    <span class=\"lit\">524<\/span>     <span class=\"pun\">[<\/span><span class=\"pln\">OK<\/span><span class=\"pun\">]<\/span><span class=\"pln\">       \r\ncentos<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">httpd                                                <\/span><span class=\"lit\">7<\/span>                <span class=\"pun\">[<\/span><span class=\"pln\">OK<\/span><span class=\"pun\">]<\/span><span class=\"pln\">\r\nrgielen<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">httpd<\/span><span class=\"pun\">-<\/span><span class=\"pln\">image<\/span><span class=\"pun\">-<\/span><span class=\"pln\">php5       <\/span><span class=\"typ\">Docker<\/span><span class=\"pln\"> image <\/span><span class=\"kwd\">for<\/span> <span class=\"typ\">Apache<\/span><span class=\"pun\">...<\/span>   <span class=\"lit\">1<\/span>                <span class=\"pun\">[<\/span><span class=\"pln\">OK<\/span><span class=\"pun\">]<\/span><span class=\"pln\">\r\nmicrowebapps<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">httpd<\/span><span class=\"pun\">-<\/span><span class=\"pln\">frontend    <\/span><span class=\"typ\">Httpd<\/span><span class=\"pln\"> frontend allowing<\/span><span class=\"pun\">...<\/span>   <span class=\"lit\">1<\/span>                <span class=\"pun\">[<\/span><span class=\"pln\">OK<\/span><span class=\"pun\">]<\/span><span class=\"pln\">\r\nlolhens<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">httpd                  <\/span><span class=\"typ\">Apache<\/span><span class=\"pln\"> httpd <\/span><span class=\"lit\">2<\/span> <span class=\"typ\">Server<\/span>        <span class=\"lit\">1<\/span>                <span class=\"pun\">[<\/span><span class=\"pln\">OK<\/span><span class=\"pun\">]<\/span><span class=\"pln\">\r\npublici<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">httpd                  httpd<\/span><span class=\"pun\">:<\/span><span class=\"pln\">latest                 <\/span><span class=\"lit\">0<\/span>                <span class=\"pun\">[<\/span><span class=\"pln\">OK<\/span><span class=\"pun\">]<\/span><span class=\"pln\">\r\npublicisworldwide<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">httpd        <\/span><span class=\"typ\">The<\/span> <span class=\"typ\">Apache<\/span><span class=\"pln\"> httpd webser<\/span><span class=\"pun\">...<\/span>   <span class=\"lit\">0<\/span>                <span class=\"pun\">[<\/span><span class=\"pln\">OK<\/span><span class=\"pun\">]<\/span><span class=\"pln\">\r\nrgielen<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">httpd<\/span><span class=\"pun\">-<\/span><span class=\"pln\">image<\/span><span class=\"pun\">-<\/span><span class=\"pln\">simple     <\/span><span class=\"typ\">Docker<\/span><span class=\"pln\"> image <\/span><span class=\"kwd\">for<\/span><span class=\"pln\"> simple<\/span><span class=\"pun\">...<\/span>   <span class=\"lit\">0<\/span>                <span class=\"pun\">[<\/span><span class=\"pln\">OK<\/span><span class=\"pun\">]<\/span><span class=\"pln\">\r\nsolsson<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">httpd                  <\/span><span class=\"typ\">Derivatives<\/span><span class=\"pln\"> of the offi<\/span><span class=\"pun\">...<\/span>   <span class=\"lit\">0<\/span>                <span class=\"pun\">[<\/span><span class=\"pln\">OK<\/span><span class=\"pun\">]<\/span><span class=\"pln\">\r\nrgielen<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">httpd<\/span><span class=\"pun\">-<\/span><span class=\"pln\">image<\/span><span class=\"pun\">-<\/span><span class=\"pln\">drush      <\/span><span class=\"typ\">Apache<\/span><span class=\"pln\"> HTTPD <\/span><span class=\"pun\">+<\/span> <span class=\"typ\">Drupal<\/span><span class=\"pln\"> S<\/span><span class=\"pun\">...<\/span>   <span class=\"lit\">0<\/span>                <span class=\"pun\">[<\/span><span class=\"pln\">OK<\/span><span class=\"pun\">]<\/span><span class=\"pln\">\r\nlearninglayers<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">httpd                                        <\/span><span class=\"lit\">0<\/span>                <span class=\"pun\">[<\/span><span class=\"pln\">OK<\/span><span class=\"pun\">]<\/span><span class=\"pln\">\r\nsohrabkhan<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">httpd               <\/span><span class=\"typ\">Docker<\/span><span class=\"pln\"> httpd <\/span><span class=\"pun\">+<\/span><span class=\"pln\"> php5<\/span><span class=\"pun\">.<\/span><span class=\"lit\">6<\/span> <span class=\"pun\">(...<\/span>   <span class=\"lit\">0<\/span>                <span class=\"pun\">[<\/span><span class=\"pln\">OK<\/span><span class=\"pun\">]<\/span><span class=\"pln\">\r\naintohvri<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">docker<\/span><span class=\"pun\">-<\/span><span class=\"pln\">httpd         <\/span><span class=\"typ\">Apache<\/span><span class=\"pln\"> HTTPD <\/span><span class=\"typ\">Docker<\/span><span class=\"pln\"> ext<\/span><span class=\"pun\">...<\/span>   <span class=\"lit\">0<\/span>                <span class=\"pun\">[<\/span><span class=\"pln\">OK<\/span><span class=\"pun\">]<\/span><span class=\"pln\">\r\nalizarion<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">httpd                httpd on centos <\/span><span class=\"kwd\">with<\/span><span class=\"pln\"> mo<\/span><span class=\"pun\">...<\/span>   <span class=\"lit\">0<\/span>                <span class=\"pun\">[<\/span><span class=\"pln\">OK<\/span><span class=\"pun\">]<\/span>\r\n<span class=\"pun\">...<\/span><\/pre>\n<p>\u8fd9\u91cc\u6211\u4eec\u62c9\u53d6\u5b98\u65b9\u7684\u955c\u50cf<\/p>\n<pre class=\"prettyprint prettyprinted\"><span class=\"pln\">runoob@runoob<\/span><span class=\"pun\">:~\/<\/span><span class=\"pln\">apache$ docker pull httpd<\/span><\/pre>\n<p>\u7b49\u5f85\u4e0b\u8f7d\u5b8c\u6210\u540e\uff0c\u6211\u4eec\u5c31\u53ef\u4ee5\u5728\u672c\u5730\u955c\u50cf\u5217\u8868\u91cc\u67e5\u5230REPOSITORY\u4e3ahttpd\u7684\u955c\u50cf\u3002<\/p>\n<pre class=\"prettyprint prettyprinted\"><span class=\"pln\">runoob@runoob<\/span><span class=\"pun\">:~\/<\/span><span class=\"pln\">apache$ docker images httpd\r\nREPOSITORY     TAG        IMAGE ID        CREATED           SIZE\r\nhttpd          latest     da1536b4ef14    <\/span><span class=\"lit\">23<\/span><span class=\"pln\"> seconds ago    <\/span><span class=\"lit\">195.1<\/span><span class=\"pln\"> MB<\/span><\/pre>\n<h3>\u65b9\u6cd5\u4e8c\u3001\u901a\u8fc7 Dockerfile\u6784\u5efa<\/h3>\n<p><b>\u521b\u5efaDockerfile<\/b><\/p>\n<p>\u9996\u5148\uff0c\u521b\u5efa\u76ee\u5f55apache,\u7528\u4e8e\u5b58\u653e\u540e\u9762\u7684\u76f8\u5173\u4e1c\u897f\u3002<\/p>\n<pre class=\"prettyprint prettyprinted\"><span class=\"pln\">runoob@runoob<\/span><span class=\"pun\">:~<\/span><span class=\"pln\">$ mkdir <\/span><span class=\"pun\">-<\/span><span class=\"pln\">p  <\/span><span class=\"pun\">~<\/span><span class=\"str\">\/apache\/<\/span><span class=\"pln\">www <\/span><span class=\"pun\">~<\/span><span class=\"str\">\/apache\/<\/span><span class=\"pln\">logs <\/span><span class=\"pun\">~<\/span><span class=\"str\">\/apache\/<\/span><span class=\"pln\">conf <\/span><\/pre>\n<p>www\u76ee\u5f55\u5c06\u6620\u5c04\u4e3aapache\u5bb9\u5668\u914d\u7f6e\u7684\u5e94\u7528\u7a0b\u5e8f\u76ee\u5f55<\/p>\n<p>logs\u76ee\u5f55\u5c06\u6620\u5c04\u4e3aapache\u5bb9\u5668\u7684\u65e5\u5fd7\u76ee\u5f55<\/p>\n<p>conf\u76ee\u5f55\u91cc\u7684\u914d\u7f6e\u6587\u4ef6\u5c06\u6620\u5c04\u4e3aapache\u5bb9\u5668\u7684\u914d\u7f6e\u6587\u4ef6<\/p>\n<p>\u8fdb\u5165\u521b\u5efa\u7684apache\u76ee\u5f55\uff0c\u521b\u5efaDockerfile<\/p>\n<pre class=\"prettyprint prettyprinted\"><span class=\"pln\">FROM debian<\/span><span class=\"pun\">:<\/span><span class=\"pln\">jessie\r\n\r\n<\/span><span class=\"com\"># add our user and group first to make sure their IDs get assigned consistently, regardless of whatever dependencies get added<\/span>\r\n<span class=\"com\">#RUN groupadd -r www-data &amp;&amp; useradd -r --create-home -g www-data www-data<\/span><span class=\"pln\">\r\n\r\nENV HTTPD_PREFIX <\/span><span class=\"pun\">\/<\/span><span class=\"pln\">usr<\/span><span class=\"pun\">\/<\/span><span class=\"kwd\">local<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">apache2\r\nENV PATH $PATH<\/span><span class=\"pun\">:<\/span><span class=\"pln\">$HTTPD_PREFIX<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">bin\r\nRUN mkdir <\/span><span class=\"pun\">-<\/span><span class=\"pln\">p <\/span><span class=\"str\">\"$HTTPD_PREFIX\"<\/span><span class=\"pln\"> \\\r\n\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"pun\">&amp;&amp;<\/span><span class=\"pln\"> chown www<\/span><span class=\"pun\">-<\/span><span class=\"pln\">data<\/span><span class=\"pun\">:<\/span><span class=\"pln\">www<\/span><span class=\"pun\">-<\/span><span class=\"pln\">data <\/span><span class=\"str\">\"$HTTPD_PREFIX\"<\/span><span class=\"pln\">\r\nWORKDIR $HTTPD_PREFIX\r\n\r\n<\/span><span class=\"com\"># install httpd runtime dependencies<\/span>\r\n<span class=\"com\"># https:\/\/httpd.apache.org\/docs\/2.4\/install.html#requirements<\/span><span class=\"pln\">\r\nRUN apt<\/span><span class=\"pun\">-<\/span><span class=\"kwd\">get<\/span><span class=\"pln\"> update \\\r\n\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"pun\">&amp;&amp;<\/span><span class=\"pln\"> apt<\/span><span class=\"pun\">-<\/span><span class=\"kwd\">get<\/span><span class=\"pln\"> install <\/span><span class=\"pun\">-<\/span><span class=\"pln\">y <\/span><span class=\"pun\">--<\/span><span class=\"kwd\">no<\/span><span class=\"pun\">-<\/span><span class=\"pln\">install<\/span><span class=\"pun\">-<\/span><span class=\"pln\">recommends \\\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0libapr1 \\\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0libaprutil1 \\\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0libaprutil1<\/span><span class=\"pun\">-<\/span><span class=\"pln\">ldap \\\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0libapr1<\/span><span class=\"pun\">-<\/span><span class=\"pln\">dev \\\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0libaprutil1<\/span><span class=\"pun\">-<\/span><span class=\"pln\">dev \\\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0libpcre<\/span><span class=\"pun\">++<\/span><span class=\"lit\">0<\/span><span class=\"pln\"> \\\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0libssl1<\/span><span class=\"pun\">.<\/span><span class=\"lit\">0.0<\/span><span class=\"pln\"> \\\r\n\u00a0\u00a0\u00a0\u00a0<\/span><span class=\"pun\">&amp;&amp;<\/span><span class=\"pln\"> rm <\/span><span class=\"pun\">-<\/span><span class=\"pln\">r <\/span><span class=\"pun\">\/<\/span><span class=\"kwd\">var<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">lib<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">apt<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">lists<\/span><span class=\"com\">\/*\r\n\r\nENV HTTPD_VERSION 2.4.20\r\nENV HTTPD_BZ2_URL https:\/\/www.apache.org\/dist\/httpd\/httpd-$HTTPD_VERSION.tar.bz2\r\n\r\nRUN buildDeps=' \\\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0ca-certificates \\\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0curl \\\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0bzip2 \\\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0gcc \\\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0libpcre++-dev \\\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0libssl-dev \\\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0make \\\r\n\u00a0\u00a0\u00a0\u00a0' \\\r\n\u00a0\u00a0\u00a0\u00a0set -x \\\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; apt-get update \\\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; apt-get install -y --no-install-recommends $buildDeps \\\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; rm -r \/var\/lib\/apt\/lists\/* \\\r\n\u00a0\u00a0\u00a0\u00a0\\\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; curl -fSL \"$HTTPD_BZ2_URL\" -o httpd.tar.bz2 \\\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; curl -fSL \"$HTTPD_BZ2_URL.asc\" -o httpd.tar.bz2.asc \\\r\n# see https:\/\/httpd.apache.org\/download.cgi#verify\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; export GNUPGHOME=\"$(mktemp -d)\" \\\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; gpg --keyserver ha.pool.sks-keyservers.net --recv-keys A93D62ECC3C8EA12DB220EC934EA76E6791485A8 \\\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; gpg --batch --verify httpd.tar.bz2.asc httpd.tar.bz2 \\\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; rm -r \"$GNUPGHOME\" httpd.tar.bz2.asc \\\r\n\u00a0\u00a0\u00a0\u00a0\\\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; mkdir -p src \\\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; tar -xvf httpd.tar.bz2 -C src --strip-components=1 \\\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; rm httpd.tar.bz2 \\\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; cd src \\\r\n\u00a0\u00a0\u00a0\u00a0\\\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; .\/configure \\\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0--prefix=\"$HTTPD_PREFIX\" \\\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0--enable-mods-shared=reallyall \\\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; make -j\"$(nproc)\" \\\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; make install \\\r\n\u00a0\u00a0\u00a0\u00a0\\\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; cd .. \\\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; rm -r src \\\r\n\u00a0\u00a0\u00a0\u00a0\\\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; sed -ri \\\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-e 's!^(\\s*CustomLog)\\s+\\S+!\\1 \/proc\/self\/fd\/1!g' \\\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0-e 's!^(\\s*ErrorLog)\\s+\\S+!\\1 \/proc\/self\/fd\/2!g' \\\r\n\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\u00a0\"$HTTPD_PREFIX\/conf\/httpd.conf\" \\\r\n\u00a0\u00a0\u00a0\u00a0\\\r\n\u00a0\u00a0\u00a0\u00a0&amp;&amp; apt-get purge -y --auto-remove $buildDeps\r\n\r\nCOPY httpd-foreground \/usr\/local\/bin\/\r\n\r\nEXPOSE 80\r\nCMD [\"httpd-foreground\"]<\/span><\/pre>\n<p>Dockerfile\u6587\u4ef6\u4e2d COPY httpd-foreground \/usr\/local\/bin\/ \u662f\u5c06\u5f53\u524d\u76ee\u5f55\u4e0b\u7684httpd-foreground\u62f7\u8d1d\u5230\u955c\u50cf\u91cc\uff0c\u4f5c\u4e3ahttpd\u670d\u52a1\u7684\u542f\u52a8\u811a\u672c\uff0c\u6240\u4ee5\u6211\u4eec\u8981\u5728\u672c\u5730\u521b\u5efa\u4e00\u4e2a\u811a\u672c\u6587\u4ef6httpd-foreground<\/p>\n<pre class=\"prettyprint prettyprinted\"><span class=\"com\">#!\/bin\/bash<\/span>\r\n<span class=\"kwd\">set<\/span> <span class=\"pun\">-<\/span><span class=\"pln\">e\r\n\r\n<\/span><span class=\"com\"># Apache gets grumpy about PID files pre-existing<\/span><span class=\"pln\">\r\nrm <\/span><span class=\"pun\">-<\/span><span class=\"pln\">f <\/span><span class=\"pun\">\/<\/span><span class=\"pln\">usr<\/span><span class=\"pun\">\/<\/span><span class=\"kwd\">local<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">apache2<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">logs<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">httpd<\/span><span class=\"pun\">.<\/span><span class=\"pln\">pid\r\n\r\n<\/span><span class=\"kwd\">exec<\/span><span class=\"pln\"> httpd <\/span><span class=\"pun\">-<\/span><span class=\"pln\">DFOREGROUND<\/span><\/pre>\n<p>\u8d4b\u4e88httpd-foreground\u6587\u4ef6\u53ef\u6267\u884c\u6743\u9650<\/p>\n<pre class=\"prettyprint prettyprinted\"><span class=\"pln\">runoob@runoob<\/span><span class=\"pun\">:~\/<\/span><span class=\"pln\">apache$ chmod <\/span><span class=\"pun\">+<\/span><span class=\"pln\">x httpd<\/span><span class=\"pun\">-<\/span><span class=\"pln\">foreground<\/span><\/pre>\n<p>\u901a\u8fc7Dockerfile\u521b\u5efa\u4e00\u4e2a\u955c\u50cf\uff0c\u66ff\u6362\u6210\u4f60\u81ea\u5df1\u7684\u540d\u5b57<\/p>\n<pre class=\"prettyprint prettyprinted\"><span class=\"pln\">runoob@runoob<\/span><span class=\"pun\">:~\/<\/span><span class=\"pln\">apache$ docker build <\/span><span class=\"pun\">-<\/span><span class=\"pln\">t httpd <\/span><span class=\"pun\">.<\/span><\/pre>\n<p>\u521b\u5efa\u5b8c\u6210\u540e\uff0c\u6211\u4eec\u53ef\u4ee5\u5728\u672c\u5730\u7684\u955c\u50cf\u5217\u8868\u91cc\u67e5\u627e\u5230\u521a\u521a\u521b\u5efa\u7684\u955c\u50cf<\/p>\n<pre class=\"prettyprint prettyprinted\"><span class=\"pln\">runoob@runoob<\/span><span class=\"pun\">:~\/<\/span><span class=\"pln\">apache$ docker images httpd\r\nREPOSITORY     TAG        IMAGE ID        CREATED           SIZE\r\nhttpd          latest     da1536b4ef14    <\/span><span class=\"lit\">23<\/span><span class=\"pln\"> seconds ago    <\/span><span class=\"lit\">195.1<\/span><span class=\"pln\"> MB<\/span><\/pre>\n<hr \/>\n<h2>\u4f7f\u7528apache\u955c\u50cf<\/h2>\n<h3>\u8fd0\u884c\u5bb9\u5668<\/h3>\n<pre class=\"prettyprint prettyprinted\"><span class=\"pln\">docker run <\/span><span class=\"pun\">-<\/span><span class=\"pln\">p <\/span><span class=\"lit\">80<\/span><span class=\"pun\">:<\/span><span class=\"lit\">80<\/span> <span class=\"pun\">-<\/span><span class=\"pln\">v $PWD<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">www<\/span><span class=\"pun\">\/:<\/span><span class=\"str\">\/usr\/<\/span><span class=\"kwd\">local<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">apache2<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">htdocs<\/span><span class=\"pun\">\/<\/span> <span class=\"pun\">-<\/span><span class=\"pln\">v $PWD<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">conf<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">httpd<\/span><span class=\"pun\">.<\/span><span class=\"pln\">conf<\/span><span class=\"pun\">:<\/span><span class=\"str\">\/usr\/<\/span><span class=\"kwd\">local<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">apache2<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">conf<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">httpd<\/span><span class=\"pun\">.<\/span><span class=\"pln\">conf <\/span><span class=\"pun\">-<\/span><span class=\"pln\">v $PWD<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">logs<\/span><span class=\"pun\">\/:<\/span><span class=\"str\">\/usr\/<\/span><span class=\"kwd\">local<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">apache2<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">logs<\/span><span class=\"pun\">\/<\/span> <span class=\"pun\">-<\/span><span class=\"pln\">d httpd<\/span><\/pre>\n<p>\u547d\u4ee4\u8bf4\u660e\uff1a<\/p>\n<p><strong>-p 80:80 :<\/strong>\u5c06\u5bb9\u5668\u768480\u7aef\u53e3\u6620\u5c04\u5230\u4e3b\u673a\u768480\u7aef\u53e3<\/p>\n<p><strong>-v $PWD\/www\/:\/usr\/local\/apache2\/htdocs\/ :<\/strong>\u5c06\u4e3b\u673a\u4e2d\u5f53\u524d\u76ee\u5f55\u4e0b\u7684www\u76ee\u5f55\u6302\u8f7d\u5230\u5bb9\u5668\u7684\/usr\/local\/apache2\/htdocs\/<\/p>\n<p><strong>-v $PWD\/conf\/httpd.conf:\/usr\/local\/apache2\/conf\/httpd.conf :<\/strong>\u5c06\u4e3b\u673a\u4e2d\u5f53\u524d\u76ee\u5f55\u4e0b\u7684conf\/httpd.conf\u6587\u4ef6\u6302\u8f7d\u5230\u5bb9\u5668\u7684\/usr\/local\/apache2\/conf\/httpd.conf<\/p>\n<p><strong>-v $PWD\/logs\/:\/usr\/local\/apache2\/logs\/ :<\/strong>\u5c06\u4e3b\u673a\u4e2d\u5f53\u524d\u76ee\u5f55\u4e0b\u7684logs\u76ee\u5f55\u6302\u8f7d\u5230\u5bb9\u5668\u7684\/usr\/local\/apache2\/logs\/<\/p>\n<p>\u67e5\u770b\u5bb9\u5668\u542f\u52a8\u60c5\u51b5<\/p>\n<pre class=\"prettyprint prettyprinted\"><span class=\"pln\">runoob@runoob<\/span><span class=\"pun\">:~\/<\/span><span class=\"pln\">apache$ docker ps\r\nCONTAINER ID  IMAGE   COMMAND             <\/span><span class=\"pun\">...<\/span><span class=\"pln\"> PORTS               NAMES\r\n<\/span><span class=\"lit\">79a97f2aac37<\/span><span class=\"pln\">  httpd   <\/span><span class=\"str\">\"httpd-foreground\"<\/span>  <span class=\"pun\">...<\/span> <span class=\"lit\">0.0<\/span><span class=\"pun\">.<\/span><span class=\"lit\">0.0<\/span><span class=\"pun\">:<\/span><span class=\"lit\">80<\/span><span class=\"pun\">-&gt;<\/span><span class=\"lit\">80<\/span><span class=\"pun\">\/<\/span><span class=\"pln\">tcp  sharp_swanson<\/span><\/pre>\n<p>\u901a\u8fc7\u6d4f\u89c8\u5668\u8bbf\u95ee<\/p>\n<p><img decoding=\"async\" src=\"http:\/\/www.runoob.com\/wp-content\/uploads\/2016\/06\/apache.png\" \/><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u65b9\u6cd5\u4e00\u3001docker pull httpd \u67e5\u627eDocker Hub\u4e0a\u7684httpd\u955c\u50cf runoob@runo &hellip; <\/p>\n<p class=\"link-more\"><a href=\"https:\/\/b.yesiyu.top\/?p=83\" class=\"more-link\">\u7ee7\u7eed\u9605\u8bfb<span class=\"screen-reader-text\">\u201cDocker \u5b89\u88c5 Apache\u201d<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-83","post","type-post","status-publish","format-standard","hentry","category-docker"],"_links":{"self":[{"href":"https:\/\/b.yesiyu.top\/index.php?rest_route=\/wp\/v2\/posts\/83","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/b.yesiyu.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/b.yesiyu.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/b.yesiyu.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/b.yesiyu.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=83"}],"version-history":[{"count":1,"href":"https:\/\/b.yesiyu.top\/index.php?rest_route=\/wp\/v2\/posts\/83\/revisions"}],"predecessor-version":[{"id":84,"href":"https:\/\/b.yesiyu.top\/index.php?rest_route=\/wp\/v2\/posts\/83\/revisions\/84"}],"wp:attachment":[{"href":"https:\/\/b.yesiyu.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=83"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/b.yesiyu.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=83"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/b.yesiyu.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=83"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}