{"id":35335,"date":"2023-04-15T21:38:03","date_gmt":"2024-01-13T17:39:38","guid":{"rendered":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8windows-10-pro-64%e4%bd%8d%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f%e4%b8%8a%e5%ae%89%e8%a3%85docker%e5%92%8cdocker-compose%e3%80%82\/"},"modified":"2024-04-29T23:41:52","modified_gmt":"2024-04-29T15:41:52","slug":"%e5%9c%a8windows-10-pro-64%e4%bd%8d%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f%e4%b8%8a%e5%ae%89%e8%a3%85docker%e5%92%8cdocker-compose%e3%80%82","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8windows-10-pro-64%e4%bd%8d%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f%e4%b8%8a%e5%ae%89%e8%a3%85docker%e5%92%8cdocker-compose%e3%80%82\/","title":{"rendered":"\u5728Windows 10 Pro 64\u4f4d\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5b89\u88c5Docker\u548cDocker Compose"},"content":{"rendered":"<h1>\u524d\u63d0\u6761\u4ef6<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Windows 10 Pro 64bit \u30e1\u30e2\u30ea 4G \u4ee5\u4e0a\u3092\u5bfe\u8c61<\/ul>\n<\/li>\n<\/ul>\n<p>Windows 10 \u4ee5\u5916\u3060\u3063\u305f\u308a\u3001Windows10 \u3067\u3082 Home \u3060\u3063\u305f\u308a 32bit \u306e\u5834\u5408\u306f\u5bfe\u8c61\u5916<\/p>\n<h1>\u73af\u5883<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Windows 10 Pro 64bit \u30e1\u30e2\u30ea 8G<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Docker for Windows v18.09.1<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">Docker Compose v1.23.2<\/ul>\n<h1>Docker \u7684\u5b89\u88c5<\/h1>\n<h2>\u5728\u5f00\u59cb\u4e4b\u524d\uff0c\u9700\u8981\u505a\u4e00\u4e9b\u51c6\u5907\u5de5\u4f5c\uff0c\u5305\u62ec\u542f\u7528 Hyper-V\u3002<\/h2>\n<p>\u53ea\u8981\u6309\u7167Microsoft\u7684\u6587\u4ef6\u8fdb\u884c\u64cd\u4f5c\u5373\u53ef\u3002<\/p>\n<ul class=\"post-ul\">Windows 10 \u4e0a\u306b Hyper-V \u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b<\/ul>\n<p>\u505a\u6cd5\u53ef\u4ee5\u5927\u81f4\u5206\u4e3a\u4e09\u7c7b\u3002<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\u4f7f\u7528PowerShell\u6765\u542f\u7528Hyper-V<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\u4f7f\u7528CMD\u548cDISM\u6765\u542f\u7528Hyper-V<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\u5728&#8221;\u8bbe\u7f6e&#8221;\u4e2d\u542f\u7528Hyper-V\u89d2\u8272<\/ol>\n<p>\u8bf7\u7528\u4e0a\u8ff0\u4efb\u610f\u4e00\u79cd\u65b9\u6cd5\u5b89\u88c5Hyper-V\u3002<\/p>\n<h2>\u4e0b\u8f7d\u9002\u7528\u4e8eWindows\u7684Docker\u5b89\u88c5\u7a0b\u5e8f<\/h2>\n<p>\u53ef\u4ee5\u4ece download.docker.com \u4e0b\u8f7d \u516c\u5f0f-Install Docker for Windows \u4e2d\u7684 Install Docker for Windows desktop app\u3002<\/p>\n<h2>Docker for Windows \u7684\u5b89\u88c5<\/h2>\n<p>\u8fd0\u884c\u4e0b\u8f7d\u7684\u5b89\u88c5\u7a0b\u5e8f\uff0c\u5e76\u6309\u7167\u5411\u5bfc\u5b8c\u6210\u5b89\u88c5\u3002<\/p>\n<h3>\u786e\u8ba4\u7248\u672c<\/h3>\n<p>\u8bf7\u5728\u547d\u4ee4\u63d0\u793a\u7b26\u4e2d\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u4ee5\u786e\u8ba4\u7248\u672c\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>docker version\r\n<\/code><\/pre>\n<p>\u6267\u884c\u7ed3\u679c\u5982\u4e0b\u6240\u793a\u3002<\/p>\n<pre class=\"post-pre\"><code>Client: Docker Engine - Community\r\n Version:           18.09.1\r\n API version:       1.39\r\n Go version:        go1.10.6\r\n Git commit:        4c52b90\r\n Built:             Wed Jan  9 19:34:26 2019\r\n OS\/Arch:           windows\/amd64\r\n Experimental:      false\r\n\r\nServer: Docker Engine - Community\r\n Engine:\r\n  Version:          18.09.1\r\n  API version:      1.39 (minimum version 1.12)\r\n  Go version:       go1.10.6\r\n  Git commit:       4c52b90\r\n  Built:            Wed Jan  9 19:41:49 2019\r\n  OS\/Arch:          linux\/amd64\r\n  Experimental:     false\r\n<\/code><\/pre>\n<h3>\u60a8\u597d\uff0c\u4e16\u754c\u7684\u786e\u8ba4.<\/h3>\n<p>\u63a5\u4e0b\u6765\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u4ee5\u786e\u8ba4 Docker \u7684\u8fd0\u884c\u60c5\u51b5\uff1a<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>docker run hello-world\r\n<\/code><\/pre>\n<p>\u6267\u884c\u7ed3\u679c\u5982\u4e0b\u6240\u793a\u3002<br \/>\n\u80fd\u591f\u786e\u8ba4\u6267\u884c\u7ed3\u679c\uff0c\u800c\u6ca1\u6709\u53d1\u751f\u9519\u8bef\u3002<\/p>\n<pre class=\"post-pre\"><code>Hello from Docker!\r\nThis message shows that your installation appears to be working correctly.\r\n\r\nTo generate this message, Docker took the following steps:\r\n 1. The Docker client contacted the Docker daemon.\r\n 2. The Docker daemon pulled the \"hello-world\" image from the Docker Hub.\r\n    (amd64)\r\n 3. The Docker daemon created a new container from that image which runs the\r\n    executable that produces the output you are currently reading.\r\n 4. The Docker daemon streamed that output to the Docker client, which sent it\r\n    to your terminal.\r\n\r\nTo try something more ambitious, you can run an Ubuntu container with:\r\n $ docker run -it ubuntu bash\r\n\r\nShare images, automate workflows, and more with a free Docker ID:\r\n https:\/\/hub.docker.com\/\r\n\r\nFor more examples and ideas, visit:\r\n https:\/\/docs.docker.com\/get-started\/\r\n<\/code><\/pre>\n<h2>Docker Compose \u5957\u4ef6<\/h2>\n<p>\u7531\u4e8eDocker Compose\u7684\u5b98\u65b9\u6307\u5357\u4e2d\u4e5f\u63d0\u4f9b\u4e86\u6b65\u9aa4\uff0c\u56e0\u6b64\u6309\u7167\u5b98\u65b9\u6307\u5357\u8fdb\u884c\u64cd\u4f5c\u3002<br \/>\n\u5b98\u65b9\u6307\u5357\u4e2d\u7684\u6b65\u9aa4\u4ece&#8221;Install Docker Compose&#8221;\u7684&#8221;Install Compose&#8221;\u5f00\u59cb\uff0c\u5e76\u9009\u62e9&#8221;Windows&#8221;\u9009\u9879\u5361\u3002<\/p>\n<p>\u5728\u5b9e\u9645\u6267\u884c\u4e2d\uff0c<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\u4ee5\u7ba1\u7406\u5458\u6743\u9650\u542f\u52a8PowerShell\u3002<\/ol>\n<\/li>\n<\/ol>\n<p>\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u4ee5\u542f\u7528TLS 1.2\u3002\u8fd9\u662f\u56e0\u4e3aGitHub\u53ea\u63a5\u53d7TLS 1.2\u3002<br \/>\n\uff08\u53c2\u8003\uff1a\u5982\u679c\u5728PowerShell\u4e2d\u65e0\u6cd5\u4f7f\u7528wget\uff08Invoke-WebRequest\uff09\u8bbf\u95eeGitHub\u7684\u5904\u7406\u65b9\u6cd5\uff09<\/p>\n<p>$ [Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12<\/p>\n<p>\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u4ee5\u5b89\u88c5Docker Compose<\/p>\n<p>$ Invoke-WebRequest &#8220;https:\/\/github.com\/docker\/compose\/releases\/download\/1.23.2\/docker-compose-Windows-x86_64.exe&#8221; -UseBasicParsing -OutFile $Env:ProgramFiles\\docker\\docker-compose.exe<\/p>\n<p>\u8fd9\u91cc\u201c1.23.2\u201d\u662f\u8981\u5b89\u88c5\u7684Docker Compose\u7248\u672c\u3002\u8fd9\u6b21\u9009\u62e9\u4e86\u5f53\u524d\u7a33\u5b9a\u72481.23.2\uff08docker\/compose-release\uff09\u3002<\/p>\n<h3>\u8bf7\u786e\u8ba4\u7248\u672c<\/h3>\n<p>\u5f53\u901a\u8fc7\u547d\u4ee4\u63d0\u793a\u7b26\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u5e76\u6307\u5b9a\u7ed9docker-compose\u65f6\uff0c\u53ef\u4ee5\u67e5\u770bDocker Compose\u7684\u7248\u672c\u4fe1\u606f\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>docker-compose version\r\n<\/code><\/pre>\n<p>\u6267\u884c\u7ed3\u679c\u5982\u4e0b\u3002<\/p>\n<pre class=\"post-pre\"><code>docker-compose version 1.23.2, build 1110ad01\r\ndocker-py version: 3.6.0\r\nCPython version: 3.6.6\r\nOpenSSL version: OpenSSL 1.0.2o  27 Mar 2018\r\n<\/code><\/pre>\n<h3>\u786e\u8ba4\u7248\u672c\uff082\uff09<\/h3>\n<p>\u6839\u636e@rapidliner00\u5148\u751f\u63d0\u4f9b\u7684\u8bc4\u8bba\uff0c\u6211\u5df2\u7ecf\u8865\u5145\u4e86\u6307\u5b9a\u4f7f\u7528&#8211;version\u9009\u9879\u7684\u60c5\u51b5\u3002<br \/>\n\u975e\u5e38\u611f\u8c22@rapidliner00\u5148\u751f\u7684\u8bc4\u8bba\u3002<\/p>\n<p>\u4f5c\u4e3a\u4e0e\u4e0a\u8ff0\u4e0d\u540c\u7684\u65b9\u6cd5\uff0c\u60a8\u8fd8\u53ef\u4ee5\u5728docker-compose\u4e2d\u6307\u5b9a\u4ee5\u4e0b\u9009\u9879\u6765\u68c0\u67e5\u7248\u672c\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>docker-compose <span class=\"nt\">--version<\/span>\r\n<\/code><\/pre>\n<p>\u8fd9\u4e2a\u6267\u884c\u7ed3\u679c\u5982\u4e0b\u6240\u793a\u3002<\/p>\n<pre class=\"post-pre\"><code>docker-compose version 1.23.2, build 1110ad01\r\n<\/code><\/pre>\n<p>\u65e2\u7ecf\u5b8c\u6210\u4e86Docker\u548cDocker Compose\u7684\u5b89\u88c5\uff0c\u73b0\u5728\u53ef\u4ee5\u901a\u8fc7Docker Compose\u542f\u52a8\u5bb9\u5668\u8fdb\u884c\u5b9e\u9a8c\u3002<\/p>\n<h1>\u901a\u8fc7Docker Compose\u542f\u52a8\u5bb9\u5668<\/h1>\n<h2>\u8d44\u4ea7\u7684\u6784\u6210\u548c\u5185\u5bb9\u5904\u7406<\/h2>\n<p>\u4ee5\u4e0b\u662f\u5904\u7406\u8d44\u4ea7\u7684\u7ec4\u6210:<\/p>\n<p>(\u8fd9\u4e9b\u8d44\u4ea7\u7684\u7ec4\u6210\u548c\u5185\u5bb9\u4e0e[Docker] Docker Compose\u7684\u5f15\u5165\u548c\u73af\u5883\u6784\u5efa\u76f8\u540c)<\/p>\n<pre class=\"post-pre\"><code>docker-sample\/\r\n\u251c\u2500 app.py\r\n\u251c\u2500 docker-compose.yml\r\n\u251c\u2500 Dockerfile\r\n\u2514\u2500 requirements.txt\r\n<\/code><\/pre>\n<p>\u4ee5\u4e0b\u662f\u6bcf\u4e2a\u6587\u4ef6\u7684\u5185\u5bb9\u3002<\/p>\n<ul class=\"post-ul\">app.py<\/ul>\n<pre class=\"post-pre\"><code><span class=\"kn\">from<\/span> <span class=\"nn\">flask<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">Flask<\/span>\r\n<span class=\"kn\">from<\/span> <span class=\"nn\">redis<\/span> <span class=\"kn\">import<\/span> <span class=\"n\">Redis<\/span><span class=\"p\">,<\/span> <span class=\"n\">RedisError<\/span>\r\n<span class=\"kn\">import<\/span> <span class=\"nn\">os<\/span>\r\n<span class=\"kn\">import<\/span> <span class=\"nn\">socket<\/span>\r\n\r\n<span class=\"c1\"># Redis \u306b\u63a5\u7d9a\r\n<\/span><span class=\"n\">redis<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Redis<\/span><span class=\"p\">(<\/span><span class=\"n\">host<\/span><span class=\"o\">=<\/span><span class=\"s\">\"redis\"<\/span><span class=\"p\">,<\/span> <span class=\"n\">db<\/span><span class=\"o\">=<\/span><span class=\"mi\">0<\/span><span class=\"p\">,<\/span> <span class=\"n\">socket_connect_timeout<\/span><span class=\"o\">=<\/span><span class=\"mi\">2<\/span><span class=\"p\">,<\/span> <span class=\"n\">socket_timeout<\/span><span class=\"o\">=<\/span><span class=\"mi\">2<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"n\">app<\/span> <span class=\"o\">=<\/span> <span class=\"n\">Flask<\/span><span class=\"p\">(<\/span><span class=\"n\">__name__<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"o\">@<\/span><span class=\"n\">app<\/span><span class=\"p\">.<\/span><span class=\"n\">route<\/span><span class=\"p\">(<\/span><span class=\"s\">\"\/\"<\/span><span class=\"p\">)<\/span>\r\n<span class=\"k\">def<\/span> <span class=\"nf\">hello<\/span><span class=\"p\">():<\/span>\r\n    <span class=\"k\">try<\/span><span class=\"p\">:<\/span>\r\n        <span class=\"n\">visits<\/span> <span class=\"o\">=<\/span> <span class=\"n\">redis<\/span><span class=\"p\">.<\/span><span class=\"n\">incr<\/span><span class=\"p\">(<\/span><span class=\"s\">\"counter\"<\/span><span class=\"p\">)<\/span>\r\n    <span class=\"k\">except<\/span> <span class=\"n\">RedisError<\/span><span class=\"p\">:<\/span>\r\n        <span class=\"n\">visits<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"&lt;i&gt;cannot connect to Redis, counter disabled&lt;\/i&gt;\"<\/span>\r\n\r\n    <span class=\"n\">html<\/span> <span class=\"o\">=<\/span> <span class=\"s\">\"&lt;h3&gt;Hello {name}!&lt;\/h3&gt;\"<\/span> \\\r\n           <span class=\"s\">\"&lt;b&gt;Hostname:&lt;\/b&gt; {hostname}&lt;br\/&gt;\"<\/span> \\\r\n           <span class=\"s\">\"&lt;b&gt;Visits:&lt;\/b&gt; {visits}\"<\/span>\r\n    <span class=\"k\">return<\/span> <span class=\"n\">html<\/span><span class=\"p\">.<\/span><span class=\"nb\">format<\/span><span class=\"p\">(<\/span><span class=\"n\">name<\/span><span class=\"o\">=<\/span><span class=\"n\">os<\/span><span class=\"p\">.<\/span><span class=\"n\">getenv<\/span><span class=\"p\">(<\/span><span class=\"s\">\"NAME\"<\/span><span class=\"p\">,<\/span> <span class=\"s\">\"world\"<\/span><span class=\"p\">),<\/span> <span class=\"n\">hostname<\/span><span class=\"o\">=<\/span><span class=\"n\">socket<\/span><span class=\"p\">.<\/span><span class=\"n\">gethostname<\/span><span class=\"p\">(),<\/span> <span class=\"n\">visits<\/span><span class=\"o\">=<\/span><span class=\"n\">visits<\/span><span class=\"p\">)<\/span>\r\n\r\n<span class=\"k\">if<\/span> <span class=\"n\">__name__<\/span> <span class=\"o\">==<\/span> <span class=\"s\">\"__main__\"<\/span><span class=\"p\">:<\/span>\r\n    <span class=\"n\">app<\/span><span class=\"p\">.<\/span><span class=\"n\">run<\/span><span class=\"p\">(<\/span><span class=\"n\">host<\/span><span class=\"o\">=<\/span><span class=\"s\">'0.0.0.0'<\/span><span class=\"p\">,<\/span> <span class=\"n\">port<\/span><span class=\"o\">=<\/span><span class=\"mi\">80<\/span><span class=\"p\">)<\/span>\r\n<\/code><\/pre>\n<ul class=\"post-ul\">docker-compose.yml<\/ul>\n<pre class=\"post-pre\"><code><span class=\"na\">version<\/span><span class=\"pi\">:<\/span> <span class=\"s1\">'<\/span><span class=\"s\">3'<\/span>\r\n<span class=\"na\">services<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">web<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">build<\/span><span class=\"pi\">:<\/span> <span class=\"s\">.<\/span>\r\n    <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">4000:80\"<\/span>\r\n    <span class=\"na\">volumes<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"s\">.:\/app<\/span>\r\n  <span class=\"na\">redis<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">redis:alpine\"<\/span>\r\n<\/code><\/pre>\n<ul class=\"post-ul\">Dockerfile<\/ul>\n<pre class=\"post-pre\"><code><span class=\"c\"># \u30d9\u30fc\u30b9\u30a4\u30e1\u30fc\u30b8\u3068\u3057\u3066 python v3.6 \u3092\u4f7f\u7528\u3059\u308b<\/span>\r\nFROM python:3.6\r\n\r\n<span class=\"c\"># \u4ee5\u964d\u306e RUN, CMD \u30b3\u30de\u30f3\u30c9\u3067\u4f7f\u308f\u308c\u308b\u4f5c\u696d\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u3092\u6307\u5b9a\u3059\u308b<\/span>\r\nWORKDIR \/app\r\n\r\n<span class=\"c\"># \u30ab\u30ec\u30f3\u30c8\u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u3042\u308b\u8cc7\u7523\u3092\u30b3\u30f3\u30c6\u30ca\u4e0a\u306e \uff62\/app\uff63 \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u306b\u30b3\u30d4\u30fc\u3059\u308b<\/span>\r\nADD <span class=\"nb\">.<\/span> \/app\r\n\r\n<span class=\"c\"># \uff62 requirements.txt \uff63\u306b\u30ea\u30b9\u30c8\u3055\u308c\u305f\u30d1\u30c3\u30b1\u30fc\u30b8\u3092\u30a4\u30f3\u30b9\u30c8\u30fc\u30eb\u3059\u308b<\/span>\r\nRUN pip <span class=\"nb\">install<\/span> <span class=\"nt\">--trusted-host<\/span> pypi.python.org <span class=\"nt\">-r<\/span> requirements.txt\r\n\r\n<span class=\"c\"># Docker \u306b\u5bfe\u3057\u3066\uff62 80 \u756a\u30dd\u30fc\u30c8 \uff63\u3067\u5f85\u53d7\u3051\u3059\u308b\u3088\u3046\u6307\u5b9a\u3059\u308b<\/span>\r\nEXPOSE 80\r\n\r\n<span class=\"c\"># Docker \u30a4\u30e1\u30fc\u30b8\u4e2d\u306e\u74b0\u5883\u5909\u6570\u3092\u6307\u5b9a\u3059\u308b<\/span>\r\nENV NAME World\r\n\r\n<span class=\"c\"># \u30b3\u30f3\u30c6\u30ca\u304c\u8d77\u52d5\u3057\u305f\u3068\u304d\u306b\u5b9f\u884c\u3055\u308c\u308b\u547d\u4ee4\u3092\u6307\u5b9a\u3059\u308b<\/span>\r\n<span class=\"c\"># \u3053\u3053\u3067\u306f\u5f8c\u8ff0\u306e \uff62app.py \uff63\u3092\u5b9f\u884c\u3059\u308b\u3088\u3046\u6307\u793a\u3057\u3066\u3044\u308b<\/span>\r\nCMD <span class=\"o\">[<\/span><span class=\"s2\">\"python\"<\/span>, <span class=\"s2\">\"app.py\"<\/span><span class=\"o\">]<\/span>\r\n<\/code><\/pre>\n<ul class=\"post-ul\">requirements.txt<\/ul>\n<pre class=\"post-pre\"><code>Flask\r\nRedis\r\n<\/code><\/pre>\n<h2>\u4f7f\u7528Docker Compose\u542f\u52a8\u5bb9\u5668\u548c\u670d\u52a1<\/h2>\n<p>\u5728\u63a5\u4e0b\u6765\u7684\u5185\u5bb9\u4e2d\uff0c\u6211\u4eec\u5c06\u7ee7\u7eed\u8ba8\u8bba[Docker] Docker Compose\u7684\u5b89\u88c5\u548c\u73af\u5883\u914d\u7f6e\uff0c\u4e0e\u4e4b\u524d\u4e00\u6837\u3002\u672c\u6587\u4e5f\u5c06\u91cd\u65b0\u786e\u8ba4\u8fd9\u4e9b\u5185\u5bb9\u3002<\/p>\n<p>\u901a\u8fc7\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\uff0c\u5bb9\u5668\u5c06\u542f\u52a8\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>docker-compose up <span class=\"nt\">-d<\/span>\r\nStarting docker-sample_web_1   ... <span class=\"k\">done\r\n<\/span>Starting docker-sample_redis_1 ... <span class=\"k\">done<\/span>\r\n<\/code><\/pre>\n<p>\u5728\u8fd9\u91cc\uff0c\u201c-d\u201d\u9009\u9879\u8868\u793a\u5728\u540e\u53f0\u8fd0\u884c\u5bb9\u5668\u7684\u610f\u601d\u3002<br \/>\n\u5728\u6267\u884c\u4e0a\u8ff0\u547d\u4ee4\u65f6\uff0cDocker Compose\u4f1a\u6839\u636e\u672c\u5730\u73af\u5883\u7684\u60c5\u51b5\u8fdb\u884c\u76f8\u5e94\u7684\u5904\u7406\u3002<br \/>\n\u6362\u53e5\u8bdd\u8bf4\uff0c\u5982\u679c\u6ca1\u6709\u57fa\u7840\u955c\u50cf\uff0c\u5b83\u5c06\u5b8c\u6210\u4ece\u83b7\u53d6\u57fa\u7840\u955c\u50cf\u5230\u542f\u52a8\u5bb9\u5668\u7684\u8fc7\u7a0b\uff0c\u6216\u8005\u5982\u679c\u955c\u50cf\u5df2\u7ecf\u6784\u5efa\u5b8c\u6210\uff0c\u5b83\u5c06\u4ec5\u542f\u52a8\u5bb9\u5668\u3002<\/p>\n<p>\u81f3\u4e8e Docker Compose \u7684\u5404\u79cd\u547d\u4ee4\uff0c\u53ef\u4ee5\u5728\u201cdocker-compose CLI \u6982\u89c8\u201d\u4e2d\u627e\u5230\u6982\u8981\uff0c\u5e76\u4e14\u8fd8\u53ef\u4ee5\u4ece\u5de6\u4fa7\u7a97\u683c\u4e2d\u67e5\u770b\u547d\u4ee4\u7684\u8be6\u7ec6\u4fe1\u606f\u3002\u5982\u679c\u60f3\u8981\u4e86\u89e3\u6bcf\u4e2a\u547d\u4ee4\u7684\u4f5c\u7528\uff0c\u8bf7\u53c2\u8003\u4e0a\u8ff0\u94fe\u63a5\u3002\u4f9b\u53c2\u8003\u4e4b\u7528\u3002<\/p>\n<h2>\u68c0\u67e5\u5bb9\u5668\u662f\u5426\u5df2\u542f\u52a8<\/h2>\n<p>\u5728\u8fd0\u884c $ docker-compose up \u540e\uff0c\u53ef\u4ee5\u67e5\u770b Docker \u955c\u50cf\u548c\u5bb9\u5668\u7684\u72b6\u6001\u3002<\/p>\n<ul class=\"post-ul\">Docker \u30a4\u30e1\u30fc\u30b8<\/ul>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>docker image <span class=\"nb\">ls\r\n<\/span>REPOSITORY          TAG                 IMAGE ID            CREATED              SIZE\r\ndocker-sample_web   latest              c6aceb937568        About a minute ago   932MB\r\npython              3.6                 55fb8aca33df        7 days ago           922MB\r\nredis               alpine              b42dc832c855        3 weeks ago          40.9MB\r\n<\/code><\/pre>\n<p>\u53ef\u4ee5\u786e\u8ba4Python\u3001redis\u4ee5\u53cadocker-sample_web\u7684\u955c\u50cf\u5df2\u7ecf\u88ab\u521b\u5efa\u3002<\/p>\n<ul class=\"post-ul\">Docker \u30b3\u30f3\u30c6\u30ca<\/ul>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>docker ps <span class=\"nt\">-a<\/span>\r\nCONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES\r\n8441040aecdc        docker-sample_web   <span class=\"s2\">\"python app.py\"<\/span>          3 minutes ago       Up 3 minutes        0.0.0.0:4000-&gt;80\/tcp   docker-sample_web_1\r\n2295ecb5a3c1        redis:alpine        <span class=\"s2\">\"docker-entrypoint.s\u2026\"<\/span>   3 minutes ago       Up 3 minutes        6379\/tcp               docker-sample_redis_1\r\n<\/code><\/pre>\n<p>\u53ef\u4ee5\u770b\u5230 Redis \u548c docker-sample_web \u5bb9\u5668\u5df2\u7ecf\u542f\u52a8\u4e86\u3002<\/p>\n<h2>\u8bbf\u95ee Web \u5e94\u7528<\/h2>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d226837434c4406c26e39\/69-0.png\" alt=\"docker_windows03.png\" \/><\/div>\n<h1>\u901a\u8fc7Docker Compose\u505c\u6b62\u670d\u52a1\u3002<\/h1>\n<p>\u53ea\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u53ef\u4ee5\u505c\u6b62\u5df2\u542f\u52a8\u7684\u670d\u52a1\uff0c\u4f46\u6b64\u547d\u4ee4\u4e0d\u4f1a\u5220\u9664Docker\u5bb9\u5668\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>docker-compose stop\r\nStopping docker-sample_web_1   ... <span class=\"k\">done\r\n<\/span>Stopping docker-sample_redis_1 ... <span class=\"k\">done<\/span>\r\n<\/code><\/pre>\n<h1>\u4f7f\u7528Docker Compose\u505c\u6b62\u5bb9\u5668<\/h1>\n<p>\u8981\u505c\u6b62\u4f7f\u7528Docker Compose\u542f\u52a8\u7684\u5bb9\u5668\uff0c\u53ef\u4ee5\u4f7f\u7528\u4ee5\u4e0b\u547d\u4ee4\u3002\u6b64\u65f6\uff0c\u5b83\u5c06\u540c\u65f6\u5220\u9664\u7f51\u7edc\u3002<\/p>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>docker-compose down\r\nStopping docker-sample_web_1   ... <span class=\"k\">done\r\n<\/span>Stopping docker-sample_redis_1 ... <span class=\"k\">done\r\n<\/span>Removing docker-sample_web_1   ... <span class=\"k\">done\r\n<\/span>Removing docker-sample_redis_1 ... <span class=\"k\">done\r\n<\/span>Removing network docker-sample_default\r\n<\/code><\/pre>\n<h1>\u6c89\u6eba\u7684\u5730\u65b9<\/h1>\n<h2>\u5171\u4eab\u9a71\u52a8\u5668\u7684\u8bbe\u7f6e<\/h2>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d226837434c4406c26e39\/78-0.png\" alt=\"docker_windows01.png\" \/><\/div>\n<pre class=\"post-pre\"><code>ERROR: for docker-sample_web_1  Cannot create container for service web: b'Drive has not been shared'\r\n\r\nERROR: for web  Cannot create container for service web: b'Drive has not been shared'\r\nERROR: Encountered errors while bringing up the project.\r\n<\/code><\/pre>\n<p>\u5bf9\u7b56\u6709\u4e24\u79cd\u9009\u62e9\u3002<\/p>\n<p>or<\/p>\n<p>\u89e3\u51b3\u65b9\u6cd5\u6709\u4e24\u79cd\u3002<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\u5728\u753b\u9762\u663e\u793a\u65f6\uff0c\u70b9\u51fb\u201cShare it\u201d<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\u9884\u5148\u8bbe\u7f6e\u597d\u201cShare drive\u201d<\/ol>\n<p>2 \u7684\u8bbe\u7f6e\u65b9\u6cd5\u5982\u4e0b\u3002<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\u53f3\u952e\u5355\u51fb\u4efb\u52a1\u680f\u4e0a\u7684Docker\u56fe\u6807<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\u663e\u793a\u83dc\u5355\u540e\uff0c\u70b9\u51fb\u8bbe\u7f6e\u9009\u9879<\/ol>\n<\/li>\n<\/ol>\n<p>&nbsp;<\/p>\n<ol>\n<li style=\"list-style-type: none;\">\n<ol>\u663e\u793a\u8bbe\u7f6e\u9875\u9762\u540e\uff0c\u70b9\u51fb\u5171\u4eab\u9a71\u52a8\u5668<\/ol>\n<\/li>\n<\/ol>\n<p>\u5728C\u76d8\u590d\u9009\u6846\u4e2d\u52fe\u9009\u5e76\u70b9\u51fb\u5e94\u7528\u6309\u94ae\u3002<\/p>\n<div><img decoding=\"async\" class=\"post-images\" title=\"\" src=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d226837434c4406c26e39\/84-0.png\" alt=\"docker_windows02.png\" \/><\/div>\n<h2>\u91cd\u65b0\u5ba1\u67e5\u9632\u706b\u5899\u7684\u8bbe\u7f6e\u3002<\/h2>\n<p>\u5982\u679c\u5b89\u88c5\u4e86\u5b89\u5168\u8f6f\u4ef6\uff0c\u53ef\u80fd\u4f1a\u53d1\u751f\u4ee5\u4e0b\u9519\u8bef\u60c5\u51b5\u3002<\/p>\n<pre class=\"post-pre\"><code>docker-sample_redis_1 is up-to-date\r\nCreating docker-sample_web_1 ... error\r\n\r\nERROR: for docker-sample_web_1  Cannot create container for service web: b'Drive sharing seems blocked by a firewall'\r\n\r\nERROR: for web  Cannot create container for service web: b'Drive sharing seems blocked by a firewall'\r\nERROR: Encountered errors while bringing up the project.\r\n<\/code><\/pre>\n<p>\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\uff0c\u53ea\u9700\u8981\u6839\u636e\u81ea\u5df1\u7684\u73af\u5883\u91cd\u65b0\u5ba1\u67e5\u9632\u706b\u5899\u7684\u8bbe\u7f6e\u5373\u53ef\u3002<\/p>\n<h2>\u7f51\u9875\u670d\u52a1\u5c1a\u672a\u542f\u52a8\u3002<\/h2>\n<p>\u5982\u679c\u5728\u6253\u5f00 http:\/\/localhost:4000 \u65f6\u51fa\u73b0\u65e0\u6cd5\u8bbf\u95ee\u8be5\u7f51\u7ad9\u7684\u6d88\u606f\uff0c\u90a3\u4e48\u53ef\u80fd\u662f\u56e0\u4e3a Web \u670d\u52a1\u672a\u542f\u52a8\u3002\u6b64\u65f6\uff0c\u60a8\u53ef\u4ee5\u5c1d\u8bd5\u68c0\u67e5\u5bb9\u5668\u7684\u542f\u52a8\u60c5\u51b5\uff0c\u800c\u4e0d\u9700\u8981\u6dfb\u52a0 -d \u53c2\u6570\u6765\u8fd0\u884c $ docker-compose up\u3002<\/p>\n<pre class=\"post-pre\"><code>$ docker-compose up\r\n# ... \u7701\u7565\r\nweb_1    | python: can't open file 'app.py': [Errno 2] No such file or directory\r\ndocker-sample_web_1 exited with code 2\r\n# ... \u7701\u7565\r\n<\/code><\/pre>\n<p>\u5982\u679c\u51fa\u73b0\u7c7b\u4f3c\u4e0a\u8ff0\u7684\u6d88\u606f\uff0c\u8bf7\u6309\u7167\u4ee5\u4e0b\u65b9\u5f0f\u4fee\u6539docker-compose.yaml\u6587\u4ef6\u3002<br \/>\n(\u53c2\u8003\uff1apython: can&#8217;t open file &#8216;app.py&#8217; \u4e2d\u7684\u6ce8\u91ca)<\/p>\n<pre class=\"post-pre\"><code><span class=\"na\">version<\/span><span class=\"pi\">:<\/span> <span class=\"s1\">'<\/span><span class=\"s\">3'<\/span>\r\n<span class=\"na\">services<\/span><span class=\"pi\">:<\/span>\r\n  <span class=\"na\">web<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">build<\/span><span class=\"pi\">:<\/span> <span class=\"s\">.<\/span>\r\n    <span class=\"na\">ports<\/span><span class=\"pi\">:<\/span>\r\n      <span class=\"pi\">-<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">4000:80\"<\/span>\r\n<span class=\"c1\"># volumes \u3092\u30b3\u30e1\u30f3\u30c8\u30a2\u30a6\u30c8 or \u524a\u9664<\/span>\r\n<span class=\"c1\">#    volumes:<\/span>\r\n<span class=\"c1\">#      - .:\/app<\/span>\r\n  <span class=\"na\">redis<\/span><span class=\"pi\">:<\/span>\r\n    <span class=\"na\">image<\/span><span class=\"pi\">:<\/span> <span class=\"s2\">\"<\/span><span class=\"s\">redis:alpine\"<\/span>\r\n<\/code><\/pre>\n<p>\u5982\u679c\u5728\u8fd9\u79cd\u60c5\u51b5\u4e0b\u518d\u6b21\u6267\u884c $ docker-compose up<\/p>\n<pre class=\"post-pre\"><code>$ docker-compose up\r\n# ... \u7701\u7565\r\nweb_1    |  * Serving Flask app \"app\" (lazy loading)\r\nweb_1    |  * Environment: production\r\nweb_1    |    WARNING: Do not use the development server in a production environment.\r\nweb_1    |    Use a production WSGI server instead.\r\nweb_1    |  * Debug mode: off\r\nweb_1    |  * Running on http:\/\/0.0.0.0:80\/ (Press CTRL+C to quit)\r\n# ... \u7701\u7565\r\n<\/code><\/pre>\n<p>\u3068\u3001\u6b63\u5e38\u306b\u8d77\u52d5\u3057\u305f\u3053\u3068\u304c\u78ba\u8a8d\u3067\u304d\u3066( \u3042\u304f\u307e\u3067\u5c0e\u5165\u8a18\u4e8b\u306a\u306e\u3067 WARNING \u306f\u7121\u8996 )\u3001\u66f4\u306b http:\/\/localhost:4000 \u306b\u30d6\u30e9\u30a6\u30b6\u3067\u30a2\u30af\u30bb\u30b9\u3059\u308c\u3070 Web \u30a2\u30d7\u30ea\u3078\u306e\u30a2\u30af\u30bb\u30b9 \u3067\u6dfb\u4ed8\u3057\u305f\u753b\u9762\u304c\u8868\u793a\u3055\u308c\u308b\u3053\u3068\u304c\u78ba\u8a8d\u3067\u304d\u308b\u3002<\/p>\n<h1>\u7ed9\u4f60\u989d\u5916\u7684\u4e1c\u897f<\/h1>\n<p>\u5982\u679c\u8981\u505c\u6b62\u548c\u5220\u9664 Docker \u5bb9\u5668\u4ee5\u53ca\u5220\u9664 Docker \u955c\u50cf\uff0c\u8bf7\u6267\u884c\u4ee5\u4e0b\u547d\u4ee4\u3002<\/p>\n<h2>\u505c\u6b62 Docker \u5bb9\u5668<\/h2>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>docker stop 4b3ca0a2590c\r\n<\/code><\/pre>\n<p>4b3ca0a2590c \u662f\u901a\u8fc7 $ docker ps -a \u8f93\u51fa\u7684\u5bb9\u5668ID\uff0c\u5728\u591a\u4e2a\u5bb9\u5668ID\u4e4b\u95f4\u53ef\u4ee5\u4f7f\u7528\u7a7a\u683c\u8fdb\u884c\u5206\u9694\u6307\u5b9a\u3002<\/p>\n<h2>\u5220\u9664Docker\u5bb9\u5668<\/h2>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>docker <span class=\"nb\">rm <\/span>4b3ca0a2590c\r\n<\/code><\/pre>\n<p>4b3ca0a2590c\u662fDocker\u5bb9\u5668\u505c\u6b62\u7684ID\uff0c\u5c31\u50cf\u4f7f\u7528&#8221;docker ps -a&#8221;\u547d\u4ee4\u8f93\u51fa\u7684CONTAINER ID\u4e00\u6837\u3002\u8fd9\u4e2aID\u4e5f\u53ef\u4ee5\u7528\u7a7a\u683c\u5206\u9694\u6765\u6307\u5b9a\u591a\u4e2a\u3002<\/p>\n<p>\u5982\u679c\u4e0d\u5148\u505c\u6b62\u5bb9\u5668\uff0c\u5220\u9664\u64cd\u4f5c\u53ef\u80fd\u4e0d\u4f1a\u6210\u529f\uff0c\u6240\u4ee5\u8bf7\u6ce8\u610f\u3002<\/p>\n<h2>\u5220\u9664 Docker \u955c\u50cf<\/h2>\n<pre class=\"post-pre\"><code><span class=\"nv\">$ <\/span>docker rmi 2f1c802f322f\r\n<\/code><\/pre>\n<p>2f1c802f322f \u662f\u7531 $ docker image ls \u547d\u4ee4\u8f93\u51fa\u7684 IMAGE ID\u3002\u540c\u6837\uff0c\u53ef\u4ee5\u4f7f\u7528\u7a7a\u683c\u8fdb\u884c\u591a\u9879\u6307\u5b9a\u3002<\/p>\n<h1>\u8bf7\u53c2\u8003<\/h1>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">Overview of docker-compose CLI<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">\n<li style=\"list-style-type: none;\">\n<ul class=\"post-ul\">PowerShell \u3067 GitHub \u306b wget(Invoke-WebRequest) \u3067\u304d\u306a\u3044\u5834\u5408\u306e\u5bfe\u51e6\u65b9\u6cd5<\/ul>\n<\/li>\n<\/ul>\n<p>&nbsp;<\/p>\n<ul class=\"post-ul\">docker-compose \u30b3\u30de\u30f3\u30c9\u307e\u3068\u3081<\/ul>\n","protected":false},"excerpt":{"rendered":"<p>\u524d\u63d0\u6761\u4ef6 Windows 10 Pro 64bit \u30e1\u30e2\u30ea 4G \u4ee5\u4e0a\u3092\u5bfe\u8c61 Windows 10 \u4ee5\u5916\u3060\u3063\u305f [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[1],"tags":[],"class_list":["post-35335","post","type-post","status-publish","format-standard","hentry","category-uncategorized"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u5728Windows 10 Pro 64\u4f4d\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5b89\u88c5Docker\u548cDocker Compose - Blog - Silicon Cloud<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728windows-10-pro-64\u4f4d\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5b89\u88c5docker\u548cdocker-compose\u3002\/\" \/>\n<meta property=\"og:locale\" content=\"zh_CN\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u5728Windows 10 Pro 64\u4f4d\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5b89\u88c5Docker\u548cDocker Compose\" \/>\n<meta property=\"og:description\" content=\"\u524d\u63d0\u6761\u4ef6 Windows 10 Pro 64bit \u30e1\u30e2\u30ea 4G \u4ee5\u4e0a\u3092\u5bfe\u8c61 Windows 10 \u4ee5\u5916\u3060\u3063\u305f [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/zh\/blog\/\u5728windows-10-pro-64\u4f4d\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5b89\u88c5docker\u548cdocker-compose\u3002\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:published_time\" content=\"2024-01-13T17:39:38+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2024-04-29T15:41:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d226837434c4406c26e39\/69-0.png\" \/>\n<meta name=\"author\" content=\"\u97f5, \u79d1\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u4f5c\u8005\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u97f5, \u79d1\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 \u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8windows-10-pro-64%e4%bd%8d%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f%e4%b8%8a%e5%ae%89%e8%a3%85docker%e5%92%8cdocker-compose%e3%80%82\/\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8windows-10-pro-64%e4%bd%8d%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f%e4%b8%8a%e5%ae%89%e8%a3%85docker%e5%92%8cdocker-compose%e3%80%82\/\",\"name\":\"\u5728Windows 10 Pro 64\u4f4d\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5b89\u88c5Docker\u548cDocker Compose - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\"},\"datePublished\":\"2024-01-13T17:39:38+00:00\",\"dateModified\":\"2024-04-29T15:41:52+00:00\",\"author\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e\"},\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8windows-10-pro-64%e4%bd%8d%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f%e4%b8%8a%e5%ae%89%e8%a3%85docker%e5%92%8cdocker-compose%e3%80%82\/#breadcrumb\"},\"inLanguage\":\"zh-Hans\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8windows-10-pro-64%e4%bd%8d%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f%e4%b8%8a%e5%ae%89%e8%a3%85docker%e5%92%8cdocker-compose%e3%80%82\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8windows-10-pro-64%e4%bd%8d%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f%e4%b8%8a%e5%ae%89%e8%a3%85docker%e5%92%8cdocker-compose%e3%80%82\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u9996\u9875\",\"item\":\"https:\/\/www.silicloud.com\/zh\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"\u5728Windows 10 Pro 64\u4f4d\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5b89\u88c5Docker\u548cDocker Compose\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/\",\"name\":\"Blog - Silicon Cloud\",\"description\":\"\",\"inLanguage\":\"zh-Hans\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e\",\"name\":\"\u97f5, \u79d1\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g\",\"caption\":\"\u97f5, \u79d1\"},\"url\":\"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunke\/\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"zh-Hans\",\"@id\":\"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8windows-10-pro-64%e4%bd%8d%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f%e4%b8%8a%e5%ae%89%e8%a3%85docker%e5%92%8cdocker-compose%e3%80%82\/#local-main-organization-logo\",\"url\":\"\",\"contentUrl\":\"\",\"caption\":\"Blog - Silicon Cloud\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u5728Windows 10 Pro 64\u4f4d\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5b89\u88c5Docker\u548cDocker Compose - Blog - Silicon Cloud","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728windows-10-pro-64\u4f4d\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5b89\u88c5docker\u548cdocker-compose\u3002\/","og_locale":"zh_CN","og_type":"article","og_title":"\u5728Windows 10 Pro 64\u4f4d\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5b89\u88c5Docker\u548cDocker Compose","og_description":"\u524d\u63d0\u6761\u4ef6 Windows 10 Pro 64bit \u30e1\u30e2\u30ea 4G \u4ee5\u4e0a\u3092\u5bfe\u8c61 Windows 10 \u4ee5\u5916\u3060\u3063\u305f [&hellip;]","og_url":"https:\/\/www.silicloud.com\/zh\/blog\/\u5728windows-10-pro-64\u4f4d\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5b89\u88c5docker\u548cdocker-compose\u3002\/","og_site_name":"Blog - Silicon Cloud","article_published_time":"2024-01-13T17:39:38+00:00","article_modified_time":"2024-04-29T15:41:52+00:00","og_image":[{"url":"https:\/\/cdn.silicloud.com\/blog-img\/blog\/img\/657d226837434c4406c26e39\/69-0.png"}],"author":"\u97f5, \u79d1","twitter_card":"summary_large_image","twitter_misc":{"\u4f5c\u8005":"\u97f5, \u79d1","\u9884\u8ba1\u9605\u8bfb\u65f6\u95f4":"4 \u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8windows-10-pro-64%e4%bd%8d%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f%e4%b8%8a%e5%ae%89%e8%a3%85docker%e5%92%8cdocker-compose%e3%80%82\/","url":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8windows-10-pro-64%e4%bd%8d%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f%e4%b8%8a%e5%ae%89%e8%a3%85docker%e5%92%8cdocker-compose%e3%80%82\/","name":"\u5728Windows 10 Pro 64\u4f4d\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5b89\u88c5Docker\u548cDocker Compose - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website"},"datePublished":"2024-01-13T17:39:38+00:00","dateModified":"2024-04-29T15:41:52+00:00","author":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e"},"breadcrumb":{"@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8windows-10-pro-64%e4%bd%8d%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f%e4%b8%8a%e5%ae%89%e8%a3%85docker%e5%92%8cdocker-compose%e3%80%82\/#breadcrumb"},"inLanguage":"zh-Hans","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8windows-10-pro-64%e4%bd%8d%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f%e4%b8%8a%e5%ae%89%e8%a3%85docker%e5%92%8cdocker-compose%e3%80%82\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8windows-10-pro-64%e4%bd%8d%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f%e4%b8%8a%e5%ae%89%e8%a3%85docker%e5%92%8cdocker-compose%e3%80%82\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u9996\u9875","item":"https:\/\/www.silicloud.com\/zh\/blog\/"},{"@type":"ListItem","position":2,"name":"\u5728Windows 10 Pro 64\u4f4d\u64cd\u4f5c\u7cfb\u7edf\u4e0a\u5b89\u88c5Docker\u548cDocker Compose"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#website","url":"https:\/\/www.silicloud.com\/zh\/blog\/","name":"Blog - Silicon Cloud","description":"","inLanguage":"zh-Hans"},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/6530331a63adef3b3443a1fab53a0e6e","name":"\u97f5, \u79d1","image":{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/429ccb39b3fff5188bc17986222cfb0936cbadb8cc933cff04ab5ca01bd30a08?s=96&d=mm&r=g","caption":"\u97f5, \u79d1"},"url":"https:\/\/www.silicloud.com\/zh\/blog\/author\/yunke\/"},{"@type":"ImageObject","inLanguage":"zh-Hans","@id":"https:\/\/www.silicloud.com\/zh\/blog\/%e5%9c%a8windows-10-pro-64%e4%bd%8d%e6%93%8d%e4%bd%9c%e7%b3%bb%e7%bb%9f%e4%b8%8a%e5%ae%89%e8%a3%85docker%e5%92%8cdocker-compose%e3%80%82\/#local-main-organization-logo","url":"","contentUrl":"","caption":"Blog - Silicon Cloud"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/35335","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/comments?post=35335"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/35335\/revisions"}],"predecessor-version":[{"id":88354,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/posts\/35335\/revisions\/88354"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/media?parent=35335"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/categories?post=35335"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/zh\/blog\/wp-json\/wp\/v2\/tags?post=35335"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}