1. 程式人生 > 實用技巧 >Docker 應用部署

Docker 應用部署

一、MySQL部署

  在Docker容器中部署MySQL,並通過外部mysql客戶端操作MySQL Server。

    ①搜尋(拉取)mysql映象

      · docker search mysql  (搜尋)

      ·docker pull mysql:5.6  (拉取)

   

    ②建立容器,設定埠對映、目錄對映

      ·在/root目錄下建立mysql目錄用於儲存mysql資料資訊

         mkdir ~/mysql
        cd ~/mysql

      ·建立容器     

        - 引數說明:
          - p 3306:3306

:將容器的 3306 埠對映到宿主機的 3306 埠。
          - v $PWD/conf:/etc/mysql/conf.d:將主機當前目錄下的 conf/my.cnf 掛載到容器的 /etc/mysql/my.cnf。(配置目錄)
          -v $PWD/logs:/logs:將主機當前目錄下的 logs 目錄掛載到容器的 /logs。(日誌目錄)
          -v $PWD/data:/var/lib/mysql:將主機當前目錄下的data目錄掛載到容器的 /var/lib/mysql 。(資料目錄)
          -e MYSQL_ROOT_PASSWORD=123456:初始化 root 使用者的密碼。

            docker run -id \
            -p 3306:3306 \
            --name=mysql \
            -v $PWD/conf:/etc/mysql/conf.d \
            -v $PWD/logs:/logs \
            -v $PWD/data:/var/lib/mysql \
            -e MYSQL_ROOT_PASSWORD=123456 \
            mysql:5.6

  

    ③操作容器中的mysql

      ·登入容器

docker exec –it mysql /bin/bash

      ·操作mysql

mysql -uroot -p123456 //登入mysql

show databases //檢視mysql資訊

  

二、Tomcat部署

 在Docker容器中部署Tomcat

    ①搜尋(拉取)tomcat映象

      ·docker search tomcat   (搜尋)

      ·docker pull tomcat  (拉取)

   

    ②建立容器,設定埠對映、目錄對映

      ·在/root目錄下建立tomcat目錄

      mkdir ~/tomcat
      cd ~/tomcat

      ·建立容器     

        - 引數說明:
          -p 8080:8080:將容器的8080埠對映到主機的8080埠

          -v $PWD:/usr/local/tomcat/webapps:將主機中當前目錄掛載到容器的webapps

            docker run -id \
            -p 8080:8080\
            --name=tomcat\
            -v $PWD:/usr/local/tomcat/webapps \
            tomcat

  

三、Nginx部署

 在Docker容器中部署nginx

    ①搜尋(拉取)nginx映象

      ·docker search nginx  (搜尋)

      ·docker pull nginx  (拉取)

   

    ②建立容器,設定埠對映、目錄對映

      ·在/root目錄下建立nginx目錄

          # 在/root目錄下建立nginx目錄用於儲存nginx資料資訊
          mkdir ~/nginx
          cd ~/nginx
          mkdir conf
          cd conf
          # 在~/nginx/conf/下建立nginx.conf檔案,貼上下面內容
          vim nginx.conf                           

user nginx;
worker_processes 1;

error_log /var/log/nginx/error.log warn;
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;
}

      ·建立容器             

        -引數說明:  

          -p 80:80:將容器的 80埠對映到宿主機的 80 埠。

          -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:將主機當前目錄下的 /conf/nginx.conf 掛載到容器的 :/etc/nginx/nginx.conf。配置目錄

          -v $PWD/logs:/var/log/nginx:將主機當前目錄下的 logs 目錄掛載到容器的/var/log/nginx。日誌目錄

                   docker run -id \
            -p 80:80\
            --restart=always \
            --name=nginx \
            -v /nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
            -v /nginx/logs:/var/log/nginx \
            -v /nginx/html:/usr/share/nginx/html \
            nginx                            

  

  

四、Redis部署

 在Docker容器中部署Redis

    ①搜尋(拉取)tomcat映象

      ·docker search redis  (搜尋)

      ·docker pull redis:5.0  (拉取)

   

    ②建立容器,設定埠對映、目錄對映

       ·建立容器     

        - 引數說明:
          -p 8080:8080:將容器的8080埠對映到主機的8080埠

          -v $PWD:/usr/local/tomcat/webapps:將主機中當前目錄掛載到容器的webapps

            docker run -id \
            -p 6379:6379 \
            --name=redis \
            redis:5.0

  

    ③外部連線Redis

      ./redis-cli.exe -h 192.168.149.135 -p 6379