容器內的網路服務和外部機器不能直接通訊外部機器和宿主機可以直接通訊
宿主機和容器可以直接通訊
當容器中的網路服務需要被外部機器訪問時,可以將容器中提供服務的埠對映到宿主機的埠上。外部機
器訪問宿主機的埠,從而間接訪問容器的服務。
這種操作稱為:埠對映
# 拉取 mysql 映象
docker pull mysql:5.6
# 建立容器,設定埠對映、目錄對映
# 在/root目錄下建立mysql目錄用於儲存mysql資料資訊
mkdir ~/mysql
cd ~/mysql
# 配置並啟動 mysql
docker run -id \
-p 3307:3306 \
--name=c_mysql \
-v $pwd/conf:/etc/mysql/conf.d \
-v $pwd/logs:/logs \
-v $pwd/data:/var/lib/mysql \
-e mysql_root_password=root \
mysql:5.6
引數說明:
-p 3307:3306:將容器的 3306 埠對映到宿主機的 3307 埠。
-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 拉取 tomcat 映象
docker pull tomcat
# 建立容器,設定埠對映、目錄對映
# 在/root目錄下建立tomcat目錄用於儲存tomcat資料資訊
mkdir ~/tomcat
cd ~/tomcat
# 配置 tomcat
docker run -id --name=c_tomcat \
-p 8080:8080 \
tomcat
引數說明:
-p 8080:8080:將容器的8080埠對映到主機的8080埠
注意:
# 拉取 nginx 映象
docker pull nginx
# 建立容器,設定埠對映、目錄對映
# 在/root目錄下建立nginx目錄用於儲存nginx資料資訊
mkdir ~/nginx
cd ~/nginx
mkdir conf
cd conf
# 在~/nginx/conf/下建立nginx.conf檔案,貼上下面內容
vim nginx.conf
# nginx.conf 內容
# docker 啟動並配置 nginx
docker run -id --name=c_nginx \
-p 80:80 \
-v $pwd/conf/nginx.conf:/etc/nginx/nginx.conf \
-v $pwd/logs:/var/log/nginx \
-v $pwd/html:/usr/share/nginx/html \
nginx
引數說明:
-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。日誌目錄
# 拉取 redis 映象
docker pull redis:5.0
# 建立容器,設定埠對映
docker run -id --name=c_redis -p 6379:6379 redis:5.0
Docker應用部署
1 拉取mysql映象 docker pull centos mysql 57 centos7 2 建立容器 docker run di name tensquare mysql p 33306 3306 e mysql root password 123456 mysql p 代表埠對映,格式為 ...
Docker 應用部署
1 拉取mysql映象 docker pull centos mysql 57 centos7 2 建立容器 docker run di name tensquare mysql p 33100 3306 e mysql root password 123456 mysql p 代表埠對映,格式為 ...
Docker 應用部署
mysql 1 搜尋mysql映象 docker search mysql 2 拉取mysql映象 docker pull centos mysql 57 centos7 3 建立並啟動守護容器。p 埠對映,這樣宿主機外的機器可以通過該埠鏈結。mysql root password環境變數是使用ro...