{"id":150,"date":"2025-06-08T14:55:53","date_gmt":"2025-06-08T06:55:53","guid":{"rendered":"https:\/\/note.yuncrown.com\/?p=150"},"modified":"2025-06-08T18:51:47","modified_gmt":"2025-06-08T10:51:47","slug":"docker%e6%90%ad%e5%bb%baphp%e5%8d%95%e7%ab%99%e7%82%b9%ef%bc%88%e5%86%85%e7%bd%91%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%89","status":"publish","type":"post","link":"https:\/\/note.yuncrown.com\/index.php\/2025\/06\/08\/docker%e6%90%ad%e5%bb%baphp%e5%8d%95%e7%ab%99%e7%82%b9%ef%bc%88%e5%86%85%e7%bd%91%e6%9c%8d%e5%8a%a1%e5%99%a8%ef%bc%89\/","title":{"rendered":"docker\u642d\u5efaphp\u5355\u7ad9\u70b9\uff08\u5185\u7f51\u670d\u52a1\u5668\uff09"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><strong><code>docker-compose.yml<\/code>\u6dfb\u52a0\u5185\u5bb9\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>services:\n  nginx:\n    image: nginx:stable\n    ports:\n      - \"100.96.39.29:80:80\"  # \u7ed1\u5b9a\u5230\u5185\u7f51IP\u768480\u7aef\u53e3\n    volumes:\n      - .\/nginx\/default.conf:\/etc\/nginx\/conf.d\/default.conf\n      - .\/php:\/var\/www\/html\n    depends_on:\n      - php\n    networks:\n      - wind-network #\u663e\u793a\u58f0\u660e\u8be5docker\u7684\u901a\u4fe1\u7f51\u7edc\n\n  php:\n    image: php:8.2-fpm\n    volumes:\n      - .\/php:\/var\/www\/html\n    networks:\n      - wind-network\n\nnetworks:\n  wind-network:\n    driver: bridge<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>nginx\u914d\u7f6e\u6587\u4ef6\u5185\u5bb9\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>server {\n    listen 80;\n    server_name wind.local;\n    root \/var\/www\/html\/wind\/public;\n    index index.php index.html index.htm;\n\n    access_log \/var\/log\/nginx\/access.log;\n    error_log \/var\/log\/nginx\/error.log;\n\n    location \/ {\n        try_files $uri $uri\/ \/index.php?$query_string;\n    }\n\n    location ~ \\.php$ {\n        fastcgi_pass php:9000;\n        fastcgi_index index.php;\n        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;\n        include fastcgi_params;\n    }\n\n    location ~ \/\\.ht {\n        deny all;\n    }\n\n    # \u9759\u6001\u6587\u4ef6\u7f13\u5b58\n    location ~* \\.(jpg|jpeg|gif|png|css|js|ico|webp|svg)$ {\n        expires 30d;\n        add_header Cache-Control \"public, no-transform\";\n    }\n}<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u7f16\u8f91\u00a0<code>\/etc\/hosts<\/code>\uff0c\u6dfb\u52a0\u4e00\u884c\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>#\u5185\u7f51IP  \u5185\u7f51\u57df\u540d\n100.96.39.29  wind.local <\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u00a0\u91cd\u542f Docker \u670d\u52a1<\/strong>:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u8be5docker\u6839\u76ee\u5f55\u4e0b\u6267\u884c\ndocker compose down &amp;&amp; docker compose up -d<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5982\u679c\u9700\u8981\u5185\u7f51\u57df\u540d\u8bbf\u95ee\u7ad9\u70b9\uff0c\u6240\u6709\u8bbf\u95ee\u7684\u7535\u8111hosts\u90fd\u9700\u8981\u52a0\u4e0a\u4e00\u4e0b\u5185\u5bb9\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># Windows: C:\\Windows\\System32\\drivers\\etc\\hosts\n# Linux\/Mac: \/etc\/hosts\n100.96.39.29 wind.local<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>docker\u91cc\u5b89\u88c5php\u6269\u5c55\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u8fdb\u5165php docker\u547d\u4ee4\u884c(docker compose exec php bash)\uff0c\uff08\u5b89\u88c5\u6269\u5c55\uff0c\u4f8b\u5982pdo_mysql\uff09\ndocker-php-ext-install pdo_mysql<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>\u5176\u4ed6\uff1a<\/strong><\/p>\n\n\n\n<pre class=\"wp-block-code\"><code># \u8fdb\u5165nginx docker\u5185\u90e8\uff0c\u5176\u4ed6\u7c7b\u4f3c\uff0c\u8fd9\u91cc\u7684nginx\u662f<span style=\"background-color: initial; font-family: inherit; font-size: inherit; text-align: initial; font-weight: 600; color: initial;\">docker-compose.yml<\/span>\u91cc\u7684server\u91cc\u7684\u5bb9\u5668\u540d\u79f0\uff08nginx|php\uff09\ndocker compose exec nginx bash\n# \u9000\u51fadocker\u5185\u90e8 \u8f93\u5165exit\u6216ctrl + D\n# \u67e5\u770b\u6240\u6709docker\u5bb9\u5668\u8fd0\u884c\u72b6\u6001\ndocker ps\n# \u67e5\u770b\u5f53\u524d\u76ee\u5f55docker\u8fd0\u884c\u72b6\u6001\ndocker compose ps\n<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>docker-compose.yml\u6dfb\u52a0\u5185\u5bb9\uff1a nginx\u914d\u7f6e\u6587\u4ef6\u5185\u5bb9\uff1a \u7f16\u8f91\u00a0\/etc\/hosts\uff0c\u6dfb\u52a0\u4e00\u884c [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-150","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"_links":{"self":[{"href":"https:\/\/note.yuncrown.com\/index.php\/wp-json\/wp\/v2\/posts\/150","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/note.yuncrown.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/note.yuncrown.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/note.yuncrown.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/note.yuncrown.com\/index.php\/wp-json\/wp\/v2\/comments?post=150"}],"version-history":[{"count":20,"href":"https:\/\/note.yuncrown.com\/index.php\/wp-json\/wp\/v2\/posts\/150\/revisions"}],"predecessor-version":[{"id":180,"href":"https:\/\/note.yuncrown.com\/index.php\/wp-json\/wp\/v2\/posts\/150\/revisions\/180"}],"wp:attachment":[{"href":"https:\/\/note.yuncrown.com\/index.php\/wp-json\/wp\/v2\/media?parent=150"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/note.yuncrown.com\/index.php\/wp-json\/wp\/v2\/categories?post=150"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/note.yuncrown.com\/index.php\/wp-json\/wp\/v2\/tags?post=150"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}