Docker中安裝并配置MySQL、nginx、redis等
一、創(chuàng)建nginx容器
①:拉取鏡像
# 下載最新版本的nginx的鏡像
docker pull nginx:latest
# 或指定版本
docker pull nginx:1.25.3
②:運行nginx鏡像
1.運行
# 最新版本的nginx的鏡像
docker run --name nginx -p 80:80 -d nginx
# 指定版本運行
docker run --name nginx -p 80:80 -d nginx:1.25.3
# 參數(shù)詳解
- --name nginx 指定容器的名稱
- -p 80:80 映射端口
- -d 守護進程運行
2.查看運行的鏡像
docker ps
③:從nginx容器中映射nginx配置文件到本地
1.創(chuàng)建本地文件夾
mkdir -p /usr/local/nginx
2.從容器nginx里復制配置文件到本地
docker cp nginx:/etc/nginx/ /usr/local/nginx
docker cp nginx:/usr/share/nginx/html /usr/local/nginx
3.查看復制后的本地文件
可以看到文件復制成功!
④:重啟nginx并重新配置nginx的掛載
1.刪除容器
# 先停止在刪除
docker stop nginx
docker rm nginx
# 或 直接刪除
docker rm -f nginx
2.重新啟動nginx 并掛載到本地
docker run \
-p 80:80 \
--name nginx \
--restart=always \
-v /usr/local/nginx/nginx/nginx.conf:/etc/nginx/nginx.conf \
-v /usr/local/nginx/html:/usr/share/nginx/html \
-v /usr/local/nginx/logs:/var/log/nginx \
-d nginx:1.25.3
# 命令分析
docker run
-p 80:80 # 將主機的 80 端口映射到容器的 80 端口
--name nginx # 指定容器的名稱為 "nginx"
--restart=always # 容器停止后自動重新啟動
-v /usr/local/nginx/nginx.conf:/etc/nginx/nginx.conf #將主機的 /usr/local/nginx/nginx 目錄掛載到容器的 /etc/nginx 目錄
-v /usr/local/nginx/html:/usr/share/nginx/html # 將主機的 /usr/local/nginx/html 目錄掛載到容器的 /usr/share/nginx/html 目錄
-v /usr/local/nginx/logs:/var/log/nginx # 將主機的 /usr/local/nginx/logs 目錄掛載到容器的 /var/log/nginx 目錄
-d nginx:1.25.3 # 使用鏡像 nginx:1.25.3,并以后臺模式運行容器
3.查看運行的容器
docker ps
4.修改文件 瀏覽器訪問測試
- 修改首頁
- 訪問(文件映射成功?。?img src="https://imgs.yssmx.com/Uploads/2024/01/806715-12.png" alt="Docker中創(chuàng)建并配置MySQL、nginx、redis等容器,# docker,Linux,docker,mysql,nginx" referrerpolicy="no-referrer" />
二、創(chuàng)建redis容器
①:拉取redis鏡像
# 拉取最新鏡像
docker pull redis
# 或指定版本
docker pull redis:5.0
②:創(chuàng)建掛載目錄
# 創(chuàng)建redis配置目錄
mkdir -p /usr/local/redis/conf
# 進入到該目錄
cd /usr/local/redis/conf
③:下載redis的配置文件
redis中文官方網站:http://www.redis.cn/download.html
下載后解壓出來并復制到虛擬機中
④:修改默認配置信息
vi /usr/local/redis/redis.conf
# 配置信息 分析
bind 127.0.0.1 # 這行要注釋掉,解除本地連接限制
protected-mode no # 默認yes,如果設置為yes,則只允許在本機的回環(huán)連接,其他機器無法連接。
daemonize no # 默認no 為不守護進程模式
requirepass 123456 # 設置密碼
appendonly yes # 持久化
⑤:創(chuàng)建并啟動redis容器
1.創(chuàng)建運行程序
docker run --name redis \
-p 6379:6379 \
--restart=always \
-v /usr/local/redis/conf/redis.conf:/etc/redis/redis.conf \
-v /usr/local/redis:/data \
-d redis redis-server /etc/redis/redis.conf --appendonly yes
# 命令分析
docker run
--name redis # 指定容器的名稱為 "redis"
-p 6379:6379 # 將主機的 6379 端口映射到容器的 6379 端口
--restart #always 選項將容器配置為始終自動重啟
-v /usr/local/redis/redis.conf:/etc/redis/redis.conf # 將主機的 /usr/local/redis/redis.conf 文件掛載到容器的 /etc/redis/redis.conf 文件
-v /usr/local/redis:/data # 將主機的 /usr/local/redis 目錄掛載到容器的 /data 目錄
-d redis # 使用 redis 鏡像,并以后臺模式運行容器
redis-server /etc/redis/redis.conf --appendonly yes # 運行容器內的 redis-server 命令,指定配置文件為 /etc/redis/redis.conf,并啟用 appendonly 模式(持久化方式)
2.查看運行的容器
⑥:連接測試
三、創(chuàng)建MySQL容器
①:拉取MySQL鏡像
# 拉取最新鏡像
docker pull mysql
# 或指定版本
docker pull mysql:8.0
②:創(chuàng)建掛載目錄
# 創(chuàng)建目錄
mkdir -p /usr/local/mysql/data
mkdir -p /usr/local/mysql/init
mkdir -p /usr/local/mysql/conf
完成本地目錄掛載:
- 掛載
/usr/local/mysql/data
到容器內的/var/lib/mysql
目錄 - 掛載
/usr/local/mysql/init
到容器內的/docker-entrypoint-initdb.d
目錄(初始化的SQL腳本目錄) - 掛載
/usr/local/mysql/conf
到容器內的/etc/mysql/conf.d
目錄(這個是MySQL配置文件目錄)
③:創(chuàng)建并運行新mysql容器,掛載本地目錄
1.創(chuàng)建并運行mysql容器
docker run -d \
--name mysql \
-p 3306:3306 \
--restart=always \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123456 \
-v /usr/local/mysql/data:/var/lib/mysql \
-v /usr/local/mysql/conf:/etc/mysql/conf.d \
-v /usr/local/mysql/init:/docker-entrypoint-initdb.d \
mysql:8.0
# 命令分析
-d 參數(shù)將容器運行在后臺;
--name 參數(shù)指定容器的名稱為 "mysql";
-p 參數(shù)將容器的 MySQL 服務端口映射到主機的 3306 端口;
--restart always 選項將容器配置為始終自動重啟
-e 參數(shù)設置容器的時區(qū)為 "Asia/Shanghai",并設置 MySQL 超級用戶的密碼為 "123456";
-v 參數(shù)將主機上的目錄掛載到容器內部的目錄中,其中 /usr/local/mysql/data 目錄用于存儲 MySQL 數(shù)據(jù),/usr/local/mysql/conf 目錄存儲 MySQL 配置文件,/usr/local/mysql/init 目錄存儲初始化 SQL 文件;
指定使用 MySQL 8.0 鏡像。
2.查看運行中的容器
3.掛載的目錄下有很多數(shù)據(jù)
④:連接測試
1.可以看到mysql庫中user表里面root用戶是運行所有機器連接的文章來源:http://www.zghlxwxcb.cn/news/detail-806715.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-806715.html
到了這里,關于Docker中創(chuàng)建并配置MySQL、nginx、redis等容器的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!