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
- 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
·建立容器
- 引數說明:
-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;
}
·建立容器
-引數說明:
:將主機當前目錄下的 /conf/nginx.conf 掛載到容器的 :/etc/nginx/nginx.conf。配置目錄
-v $PWD/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 (拉取)
②建立容器,設定埠對映、目錄對映
·建立容器
- 引數說明:
-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