0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Nginx在Windows/docker中的使用

馬哥Linux運維 ? 來源:稀土掘金技術社區(qū) ? 2024-01-03 10:20 ? 次閱讀

前言

nginx 是一個高性能的開源反向代理服務器和 web 服務器,一般用來搭建靜態(tài)資源服務器、負載均衡器、反向代理,本文將分享其在 Windows/docker 中的使用,使用 nssm 部署成服務的方案腳本,局域網(wǎng)中自定義域名解決https提示不安全的解決方案,以及一路踩過的坑。

特點

高性能:事件驅動的異步架構,能夠處理大量并發(fā)連接

靜態(tài)資源服務器:部署前端靜態(tài)頁面及靜態(tài)資源

反向代理服務器:接收客戶端請求,并將請求轉發(fā)到后端服務,可以實現(xiàn)負載均衡、請求分發(fā)和緩存等功能

支持 HTTPS

使用情況

配置域名轉發(fā)到項目服務

外網(wǎng)穿透請求轉發(fā)到局域網(wǎng)服務器

測試環(huán)境項目的 https 配置

需要明白 nginx 默認啟動后會發(fā)生什么?

監(jiān)聽指定端口(默認 80)

攔截本機訪問 80 端口的請求到 nginx 來進行處理

可以添加配置監(jiān)聽不同的端口

同樣監(jiān)聽 80,但是可以通過 server_name 來指定不同的域名使用不同的規(guī)則

本地測試可以通過修改 hosts 文件(C:WindowsSystem32driversetchosts)來將域名請求轉發(fā)到本機

服務器需要解析域名到服務器 IP,不同的云商還需要注意其安全組,防火墻是否開啟或需要設置規(guī)則

Windows 中路徑需要使用 / 或者 ,如路徑D:Software ginx-1.24.0sslnginx.conf 需要配置為D:/Software/nginx-1.24.0/ssl/或D:Software ginx-1.24.0ssl

實踐

準備

本文版本:v1.24.0

使用端口:80 443

最基本組成:一個 server 節(jié)點一個域名配置,要添加其他配置添加 server 節(jié)點即可

 worker_processes  1;
 events {
     worker_connections  1024;
 }
 http {
     server {
         listen       80;
         server_name  localhost;
         error_page   500 502 503 504  /50x.html;
         location = /50x.html {
             root   html;
         }
     }
 }
 ```

Windows 安裝使用 nginx

安裝運行

直接官網(wǎng)下載即可v1.24.0

下載后解壓到:D:Software ginx-1.24.0

在目錄輸入框打開 cmd 并運行:start nginx運行 nginx,如果端口沒有被占用的話訪問 localhost 即可出現(xiàn) welcome 頁面

e86e973a-a951-11ee-8b88-92fbcf53809c.png
e8726716-a951-11ee-8b88-92fbcf53809c.png

嘗試修改配置:D:Software ginx-1.24.0confi ginx.conf 添加一個文本返回

e8865226-a951-11ee-8b88-92fbcf53809c.png

添加的文本及 json 返回

 #server{....
 #返回文本
 location /text {
     add_header Content-Type text/plain;
     return 200 'This is a plain text response.';
 }       
 #返回json 
 location /json {
     add_header Content-Type application/json;
     return 200 '{"message": "This is a JSON response.233"}';
 }

 #默認配置
 location / {
     root   html;
     index  index.html index.htm;
 }
 #...}
 ```

域名配置

因在本地測試,所以需要使用域名訪問到 nginx,需要配置 hosts(服務器外網(wǎng)域名配置就將域名解析到服務器)

添加一條記錄:127.0.0.1 ``nginx.devops.test.com現(xiàn)在默認就訪問nginx.devops.test.com的時候就請求到了 nginx 的默認配置了,nginx 默認監(jiān)聽了 localhost:80 使其返回我們指定的內容

e88a20a4-a951-11ee-8b88-92fbcf53809c.png

添加 server 配置節(jié)點,重載配置后訪問,即可看到訪問顯示了配置中的內容

    server {
            listen       80;
            server_name  nginx.devops.test.com;
           location / {
                add_header Content-Type text/plain;
                return 200 'nginx.devops.test.com';
            }
        }
    ```
 ![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/e62a40257ae548b29b9fab8389027ad5~tplv-k3u1fbpfcp-jj-mark00:q75.image#?w=359&h=23&s=1371&e=png&b=0c0c0c)

 ![](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/d33c2a30c4e14bd68faacd92ac8330d8~tplv-k3u1fbpfcp-jj-mark00:q75.image#?w=410&h=122&s=6676&e=png&b=fcfcfc)

因為瀏覽器的一些機制,可能會自己默認跳轉到 https,然后還看不到協(xié)議,此時就需要手動改下

SSL 證書申請

為了給網(wǎng)站加把鎖(數(shù)據(jù)傳輸?shù)乃矫苄裕话銈€人項目用免費的就行,不過有限制,比如通配符、有效期、安全性等,企業(yè)一般會使用付費證書,自行購買即可,一般云商也會提供免費證書,其他免費的目前使用過的就下面兩種

在線網(wǎng)站申請:可以在freessl根據(jù)需要申請免費/付費證書,其還包含有證書管理和到期提醒等服務

win-acme:一個免費的開源工具,用于 Windows 上的 Let's Encrypt 證書的自動化獲取和續(xù)訂

如果本地也需要使用 https 的話,也可以通過 nginx 來配置證書,為應用加把鎖。服務器的證書配置使用上面兩種生成,參考下面配置即可

nginx 本地配置 https

使用 openssl 生成自簽證書(會提示不安全,下一步解決)

#依次執(zhí)行,輸入信息,我這里都輸入了 ym
openssl genrsa -out server.key 1024
openssl req -new -key server.key -out server.csr
openssl genrsa -out ca.key 1024
openssl req -new -key ca.key -out ca.csr
openssl x509 -req -in ca.csr -signkey ca.key -out ca.crt
openssl x509 -req -CA ca.crt -CAkey ca.key -CAcreateserial -in server.csr -out server.crt

e89c8762-a951-11ee-8b88-92fbcf53809c.png

從圖里面可以看到都加上 https 了,怎么還是不安全,甚至第一次還被攔截了,這個是瀏覽器機制問題,找了一晚上,終于找到了解決方案思路來源stackoverflow,下面詳細說明步驟

生成 CA 證書(所在目錄:D:/Software/nginx-1.24.0/ssl)

   winpty openssl genrsa -des3 -out myCA.key 2048
   winpty openssl req -x509 -new -nodes -key myCA.key -sha256 -days 1825 -out myCA.pem
   ```

導入 myCA.pem 證書到受信任的根證書頒發(fā)機構(Win+R 打開:certlm.msc)

e8ba5c1a-a951-11ee-8b88-92fbcf53809c.png

創(chuàng)建 CA 簽名證書(不同域名創(chuàng)建不同的證書)

winpty openssl genrsa -out nginx.devops.test.com.key 2048
winpty openssl req -new -key nginx.devops.test.com.key -out nginx.devops.test.com.csr

創(chuàng)建 X509 V3 證書擴展配置文件 nginx.devops.test.com。ext

  authorityKeyIdentifier=keyid,issuer
  basicConstraints=CA:FALSE
  keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
  subjectAltName = @alt_names

  [alt_names]
  DNS.1 = nginx.devops.test.com
  ```

生成證書

  winpty openssl x509 -req -in nginx.devops.test.com.csr -CA myCA.pem -CAkey myCA.key -CAcreateserial -out nginx.devops.test.com.crt -days 825 -sha256 -extfile nginx.devops.test.com.ext
  ```

配置 nginx

      server {
         listen       80;
         listen       443 ssl;
         server_name  nginx.devops.test.com;

         ssl_certificate      D:/Software/nginx-1.24.0/ssl/nginx.devops.test.com.crt;
         ssl_certificate_key  D:/Software/nginx-1.24.0/ssl/nginx.devops.test.com.key;

         ssl_session_cache    shared1m;
         ssl_session_timeout  5m;

         ssl_ciphers  HIGH!MD5;
         ssl_prefer_server_ciphers  on;
         location / {
              add_header Content-Type text/plain;
              return 200 'nginx.devops.test.com666';
          }
      }
  ```

成功,沒有不安全字樣了

e8d9df04-a951-11ee-8b88-92fbcf53809c.png

如果要在局域網(wǎng)其他機器訪問,也需要執(zhí)行第 2 步操作導入 myCA.pem 證書,并配置對應的 hosts

使用 nssm 創(chuàng)建 nginx 服務

每次改完配置還要敲命令重啟,開機還要啟動,那很明顯是不太方便的,所以部署 nginx 服務就很有必要了

和 Windows 計劃任務設置開機啟動相比,我更傾向和習慣于使用nssm(一個服務封裝程序,它可以方便的將程序封裝成 windows 服務運行)來為應用創(chuàng)建一個服務進行管理。

下面分享兩個快速創(chuàng)建服務的腳本及使用。通過這兩個腳本,只需修改對應路徑,就可以為應用創(chuàng)建服務并做到開機自啟了

添加一個啟動 nginx 的腳本 start.bat

放在 nginx 目錄中(D:Software ginx-1.24.0start.bat ) ,以管理員身份運行即可刪除 nginx 進程并重新啟動

刪除進程并重啟,測試環(huán)境使用,生產(chǎn)環(huán)境不建議直接使用

@echo off
cd  /d %~dp0
echo kill nginx
taskkill /fi "imagename eq nginx.EXE" /f
echo start nginx
start nginx
echo start nginx success
pause

將 start.bat 腳本使用 nssm 的方式設置為服務nssm v2.24 下載

e8e1cd72-a951-11ee-8b88-92fbcf53809c.png

@echo off
cd  /d %~dp0
nssm stop Nginx-service
nssm remove Nginx-service confirm
nssm install Nginx-service D:Software
ginx-1.24.0start.bat
sc start Nginx-service
pause

下載后解壓:D:Software ssm ssm-2.24win64

在目錄添加 Nginx-service.bat,以快速創(chuàng)建并啟動 nginx 服務,根據(jù)需要修改服務名和 nginx 啟動腳本的路徑即可

管理員身份運行,即可創(chuàng)建并啟動服務,

至此,電腦重啟服務也將自啟,并且還可以通過服務的重新啟動來重啟應用

常用命令

啟動:start nginx

重載配置:nginx -s reload如果出錯會回滾到上一次正確配置文件保持正常運行,可能會存在緩存,Ctrl+F5 刷新瀏覽器

停止 nginx(刪除 nginx 進程):taskkill /fi "imagename eq nginx.EXE" /f

windows 下使用 nginx 一直有個問題就是重載配置后,不管有沒有問題都可能會啟動多個 nginx 進程,最后重載配置無效,就只能刪除進程后再啟動了

使用 Docker Compose 安裝 nginx

本篇文章基于 Docker V24 及 Docker Compose V2,安裝可以參考之前的文章

配置說明

鏡像版本:nginx:1.24.0

指定端口:80 443

指定時區(qū):TZ : 'Asia/Shanghai',讓日志文件顯示北京時間

指定掛載目錄

./config/nginx.conf:/etc/nginx/nginx.conf:默認配置文件,會加載 conf.d 下的所有配置

./config/conf.d:/etc/nginx/conf.d:自定義配置文件

./html:/usr/share/nginx/html:默認的靜態(tài)文件目錄

./logs:/var/log/nginx:默認的日志目錄

./ssl:/ssl:證書目錄,配置中使用 /ssl/xxx 指定

配置重載:docker exec nginx_1_24 nginx -s reload

指定網(wǎng)絡:devopsnetwork (docker network create devopsnetwork)

目錄結構

e8f1daa0-a951-11ee-8b88-92fbcf53809c.png

配置文件 compose.yml

將準備好的 compose.yml config ssl html 拷貝到服務器

然后運行docker compose up -d即可

version: '3.1'
services:
  nginx:
    image: nginx:1.24.0
    container_name: nginx_1_24
    restart: always
    environment:
      TZ : 'Asia/Shanghai'
    ports:
      - "80:80"
      - "443:443"
    volumes:
      - ./config/nginx.conf:/etc/nginx/nginx.conf
      - ./config/conf.d:/etc/nginx/conf.d
      - ./html:/usr/share/nginx/html
      - ./logs:/var/log/nginx
      - ./ssl:/ssl
      
    networks:
      - devopsnetwork

networks:
  devopsnetwork:
    external: true

默認的 nginx.conf v1.24

user  nginx;
worker_processes  auto;

error_log  /var/log/nginx/error.log notice;
pid        /var/run/nginx.pid;

events {
    worker_connections  1024;
}

http {
    include       /etc/nginx/mime.types;
    default_type  application/octet-stream;

    log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                      '$status $body_bytes_sent "$http_referer" '
                      '"$http_user_agent" "$http_x_forwarded_for"';

    access_log  /var/log/nginx/access.log  main;

    sendfile        on;
    #tcp_nopush     on;

    keepalive_timeout  65;

    #gzip  on;

    include /etc/nginx/conf.d/*.conf;
}

自定義配置 conf.d/default.conf

將前文 Windows 的配置部分修改到 default.conf 如下所示

server {
  listen       80;
  listen       443 ssl;
  server_name  nginx.devops.test.com;

  ssl_certificate      /ssl/nginx.devops.test.com.crt;
  ssl_certificate_key  /ssl/nginx.devops.test.com.key;

  ssl_session_cache    shared1m;
  ssl_session_timeout  5m;

  ssl_ciphers  HIGH!MD5;
  ssl_prefer_server_ciphers  on;
  location / {
      add_header Content-Type text/plain;
      return 200 'nginx.devops.test.com 001';
  }
}

創(chuàng)建證書 ssl 目錄

上傳生成的 ssl 證書或者在 linux 中使用上面 openssl 的方式重新生成域名證書,然后本地添加 pem 證書,即可使用 https

Nginx 的應用

前面文章我們安裝了 Apollo,RabbitMQ 及各種常用數(shù)據(jù)庫,下面將通過 nginx 給之前文章中的應用配置域名轉發(fā)

通過域名訪問到各自應用中,而無需再使用 IP+端口來訪問應用,這樣就算后面部署方式/IP、端口發(fā)送變化,只需要修改 nginx 的轉發(fā)配置即可

本地使用域名前的配置

要想在局域網(wǎng)使用自定義的域名訪問應用,需要先配置 hosts 文件,這里使用 hosts 將域名請求指向目標服務器 192.168.123.214

192.168.123.214 apollo.devops.test.com
192.168.123.214 rabbitmq.devops.test.com

還可以搭建一個 dns 服務,設置本機的 dns,即可將域名請求交友 dns 解析到對應服務,并且能夠實現(xiàn)泛解析

Apollo 的轉發(fā)配置

Apollo 面板地址:http://192.168.123.214:8070/

設定域名:apollo.devops.test.com

對應 server 配置,因為同屬一個網(wǎng)絡,所以使用容器名加端口訪問即可

 server {
       listen       80;
       server_name  apollo.devops.test.com;
       location / {
         proxy_pass   http://apollo_portal_2_1:8070/;
         #上游主機名
         proxy_set_header Host $host;
         # 客戶端發(fā)送的原始主機名
         #proxy_set_header host $http_host; 
         proxy_set_header X-Real-IP $remote_addr;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Forwarded-Proto $scheme;
       }
   }
 ```

Apollo 配置 https,并重定向 http 到 https

 server {
     listen       80;
     server_name  apollo.devops.test.com;
     return 301 https://$host$request_uri;
 }
 server {
     listen       443 ssl;
     server_name  apollo.devops.test.com;

     ssl_certificate      /certs/apollo.devops.test.com/server.crt;
     ssl_certificate_key  /certs/apollo.devops.test.com/server.key;
     ssl_session_cache    shared1m;
     ssl_session_timeout  5m;
     ssl_ciphers  HIGH!MD5;
     ssl_prefer_server_ciphers  on;

     location / {
       proxy_pass   http://apollo_portal_2_1:8070/;
       proxy_set_header host $http_host;
       proxy_set_header x-real-ip $remote_addr;
       proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
       proxy_set_header x-forwarded-proto $scheme;
     }
 }
 ```

RabbitMQ 的轉發(fā)配置

RabbitMQ 面板地址:http://192.168.123.214:15672/#/

設定域名:rabbitmq.devops.test.com

對應 server 配置,因為同屬一個網(wǎng)絡,所以使用容器名加端口訪問即可

 server {
     listen       80;
     server_name  rabbitmq.devops.test.com;

     location / {
       proxy_pass   http://rabbitmq_3_12:15672/;
       proxy_set_header Host $host;
       proxy_set_header X-Real-IP $remote_addr;
       proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
       proxy_set_header X-Forwarded-Proto $scheme;
     }
 }
 ```

RabbitMQ 配置 https,并重定向 http 到 https

 server {
     listen       80;
     server_name  rabbitmq.devops.test.com;
     return 301 https://$host$request_uri;
 }
 server {
     listen       443 ssl;
     server_name  apollo.devops.test.com;

     ssl_certificate      /certs/apollo.devops.test.com/server.crt;
     ssl_certificate_key  /certs/apollo.devops.test.com/server.key;
     ssl_session_cache    shared1m;
     ssl_session_timeout  5m;
     ssl_ciphers  HIGH!MD5;
     ssl_prefer_server_ciphers  on;

     location / {
       proxy_pass   http://apollo_portal_2_1:8070/;
       proxy_set_header host $http_host;
       proxy_set_header x-real-ip $remote_addr;
       proxy_set_header x-forwarded-for $proxy_add_x_forwarded_for;
       proxy_set_header x-forwarded-proto $scheme;
     }
 }
 ```

相關腳本匯總

腳本本地目錄預覽,添加了系統(tǒng)判斷 linux,執(zhí)行需要給要執(zhí)行的腳本添加執(zhí)行權限:chmod +x ./01.build-pem.sh

e8fd0ea2-a951-11ee-8b88-92fbcf53809c.png

nginx-start.bat :刪除 nginx 進程并啟動 nginx 服務

 @echo off
 cd  /d %~dp0
 echo kill nginx
 taskkill /fi "imagename eq nginx.EXE" /f
 echo start nginx
 start nginx
 echo start nginx success
 pause
 ```

nginx-nssm-service.bat 創(chuàng)建 nginx 服務腳本

 @echo off
 cd  /d %~dp0
 nssm stop Nginx-service
 nssm remove Nginx-service confirm
 nssm install Nginx-service D:Software
ginx-1.24.0start.bat
 sc start Nginx-service
 pause
 ```

01.build-pem.sh 創(chuàng)建自簽證書

 #!/bin/sh
 # 生成根證書,訪問客戶端需要安裝導入 myCA.pem,根據(jù)myCA.key,myCA.pem再生成nginx需要的證書
 if uname | grep -q "MINGW"; then
   winpty openssl genrsa -out myCA.key 2048
   winpty openssl req -x509 -new -nodes -key myCA.key -days 1825 -out myCA.pem
 else
   openssl genrsa -out myCA.key 2048
   openssl req -x509 -new -nodes -key myCA.key -days 1825 -out myCA.pem
 fi
 ```

02.build-ssl.sh 創(chuàng)建域名證書

 #!/bin/bash

 if [ "$#" -ne 1 ]; then
   echo "Usage: Must supply a domain"
   exit 1
 fi

 DOMAIN=$1

 mkdir $DOMAIN
 #!/bin/sh
 if uname | grep -q "MINGW"; then
   winpty openssl genrsa -out $DOMAIN/server.key 2048
   winpty openssl req -new -key $DOMAIN/server.key -out $DOMAIN/server.csr
 else
   openssl genrsa -out $DOMAIN/server.key 2048
   openssl req -new -key $DOMAIN/server.key -out $DOMAIN/server.csr
 fi

 cat >$DOMAIN/server.ext <

03.gen.sh 先創(chuàng)建自簽證書,再執(zhí)行 gen.sh 生成需要的域名證書,配置到 nginx 即可

 #!/bin/bash
 # 獲取當前腳本所在目錄
 script_dir=$(dirname "$0")

 sh $script_dir/02.build-ssl.sh nginx.devops.test.com

 sh $script_dir/02.build-ssl.sh apollo.devops.test.com

 sh $script_dir/02.build-ssl.sh rabbitmq.devops.test.com
 ```

踩過的坑

Windows 環(huán)境 nginx -s reload 后多個 nginx 進程

目前只能通過taskkill /fi "imagename eq nginx.EXE" /f刪除進程再啟動

Windows 中使用 openssl 需要添加前綴winpty openssl

一開始是執(zhí)行openssl genrsa -out server.key 2048命令卡死

后面找到一篇文章說是 git bash 密碼的問題,加了密碼參數(shù)確實可以了:openssl genrsa -des3 -out myCA.key -passout pass:mima 2048但是后續(xù)使用openssl req還是卡死,

最后解決自簽證書授信的時候才發(fā)現(xiàn)是需要加上 winpty 使用才是正解

本地自簽證書配置 https 瀏覽器依舊提示不安全

生產(chǎn)對應域名的證書,并在客戶端安裝證書,找到的解決方案,以及思路來源stackoverflow

容器中 nginx.conf 默認配置問題

不同的版本可能默認配置不一樣,可以先不掛載配置把容器的默認配置文件復制出來,在默認配置基礎上進行修改,可少走彎路。尤其如果是將 Windows 上面 的配置修改到容器中,需要注意路徑問題。

比如 windows 中配置靜態(tài)站點根目錄:root html;,在容器中則需要配置為root /usr/share/nginx/html;才生效

容器中重載配置

docker exec nginx_1_24 nginx -s reload

后語

一直都是用到了就搜索,此番整理,加深使用,以備后用
最深刻的是本篇對局域網(wǎng)自定義域名不安全https提示問題的解決,簡直賞心悅目。

審核編輯:湯梓紅

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 服務器
    +關注

    關注

    12

    文章

    8958

    瀏覽量

    85081
  • WINDOWS
    +關注

    關注

    3

    文章

    3521

    瀏覽量

    88317
  • nginx
    +關注

    關注

    0

    文章

    142

    瀏覽量

    12154
  • Docker
    +關注

    關注

    0

    文章

    453

    瀏覽量

    11792

原文標題:前后端都用得上的 Nginx 日常使用經(jīng)驗

文章出處:【微信號:magedu-Linux,微信公眾號:馬哥Linux運維】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    如何在Docker創(chuàng)建容器

    、OpenStack 集群和其他的基礎應用平臺。為了方便用戶使用和管理Docker與容器,鐵威馬TOS 4.0系統(tǒng)Docker 設計了一套友好的用戶界面,請參照相關幫助文件的指引
    發(fā)表于 01-03 15:58

    docker核心概念

    Docker 是世界領先的軟件容器平臺。開發(fā)人員利用 Docker 可以消除協(xié)作編碼時“我的機器上可正常工作”的問題。運維人員利用 Docker 可以
    發(fā)表于 07-15 07:29

    docker安裝nginx的詳細過程

    Centos7安裝nginx(二)之docker安裝nginx
    發(fā)表于 10-23 17:10

    Docker的端口映射和nginx安裝流程

    Docker的端口映射和nginx安裝
    發(fā)表于 04-14 11:44

    Docker端口映射和nginx安裝

    Docker的端口映射和nginx安裝
    發(fā)表于 04-17 11:44

    RK3399開發(fā)板香橙派Orange Pi 4B上使用docker

    (1)直接運行執(zhí)行docker search arm64v8 搜到arm64v8/nginx 例如 執(zhí)行 docker search ubuntu 找到eclipse/ubuntu_jdk8 以后
    發(fā)表于 12-03 18:06

    分享比較實用的Docker技巧

    1、docker top該命令是用來查看一個容器里面的進程信息的,比如你想查看一個nginx容器里面有幾個nginx進程的時候,可以執(zhí)行如下命令:?~dockertop3b307...
    發(fā)表于 12-13 06:40

    如何判斷是否docker鏡像?

    則簡潔很多 3. 一個有些土的方法:大部分 docker 容器中都不會在安裝 docker,至少算能SDK 的docker是這樣的,所以云主機上輸入
    發(fā)表于 09-20 07:42

    Docker將要在Windows和MAC平臺本地化

    對Linux用戶來說,Docker一直是一個本地化的應用程序,但是對于Windows和MAC來說并不是。好消息是,Docker馬上將要發(fā)布兩個新的測試版本:Docker for Mac
    發(fā)表于 10-11 15:13 ?0次下載

    如何在Windows上應用Docker開展動態(tài)代碼測試

    力不從心;而輕巧和便捷的容器技術通過宿主機操作系統(tǒng)上應用虛擬化,直接勝出。本文主要介紹容器技術的代表產(chǎn)品Docker,并對Docker與虛擬機進行對比,以及如何在Windows上應用
    的頭像 發(fā)表于 10-28 11:08 ?1966次閱讀

    分享10 比較非常實用的 Docker技巧,歡迎收藏!

    1、docker top該命令是用來查看一個容器里面的進程信息的,比如你想查看一個nginx容器里面有幾個nginx進程的時候,可以執(zhí)行如下命令:?~dockertop3b307...
    發(fā)表于 11-26 20:51 ?10次下載
    分享10 比較非常實用的 <b class='flag-5'>Docker</b>技巧,歡迎收藏!

    nginx-proxy Docker容器的自動化nginx代理

    ./oschina_soft/nginx-proxy.zip
    發(fā)表于 05-12 11:30 ?1次下載
    <b class='flag-5'>nginx</b>-proxy <b class='flag-5'>Docker</b>容器的自動化<b class='flag-5'>nginx</b>代理

    如何在Docker容器運行Nginx

    本教程,您將學習如何將 Nginx 作為 Docker 容器運行,并將其公開給您的本地網(wǎng)絡。此外,您將學習如何創(chuàng)建 Docker 數(shù)據(jù)卷
    的頭像 發(fā)表于 02-17 09:30 ?1889次閱讀

    如何在Windows系統(tǒng)上設置Docker鏡像源

    使用 Docker 進行鏡像下載和構建時,由于眾所周知的原因,國內用戶可能會遇到下載速度慢或者無法連接的問題。為了解決這個問題,我們可以使用國內的鏡像源來加速下載速度。本文將介紹如何在 Windows 系統(tǒng)上設置
    的頭像 發(fā)表于 10-24 16:55 ?5578次閱讀

    如何啟動本機docker服務

    Docker是一個開源項目,可以幫助開發(fā)者打包應用程序及其依賴,并且能夠將其作為獨立的容器來運行。本文將詳細介紹如何在本機上啟動Docker服務。 第一步:安裝Docker 開始之前
    的頭像 發(fā)表于 11-23 09:43 ?1941次閱讀