啟動沒有數據卷的nginx
docker run -d -p 86:80 --name my-nginx nginx
把/etc/nginx中的配置復制到宿主機
docker cp my-nginx:/etc/nginx /home/nginxlkl
把/html 中的文件復制到宿主機
docker cp my-nginx:/etc/nginx /home/nginxlkl
刪除當前鏡像
docker rm -f my-nginx
重新起帶數據卷的nginx
docker run -d --name my-nginx -v /home/nginxlkl/nginx:/etc/nginx -v /home/nginxlkl/html:/usr/share/nginx/html -p 86:80 -d nginx:latest
修改nginx 配置文件需要重啟
docker restart my-nginx
location /gateway {rewrite ^.+pers/?(.*)$ /$1 break;include uwsgi_params;proxy_pass http://ip:port;proxy_set_header x-forwarded-for $remote_addr;}location /api {proxy_pass http://ip:port;rewrite ^/api/(.*)$ /$1 break;}
在這里插入代碼片
mysql
安裝前的思考
我們知道,容器如果不對數據做持久化(掛載數據卷),那么容器一旦重啟或者刪除,數據也就消失。所以我們要對MySQ數據做持久化,也就是掛載數據卷
之前在物理機上安裝過MySQL的小伙伴都知道,安裝完成后,我們要修改基本的配置,主要是編碼。而如果要在容器內修改,那么容器刪除后,配
vim my.cnf
[mysql]
default-character-set = utf8mb4[mysqld]
character-set-client-handshake = FALSE
character-set-server = utf8mb4
collation-server = utf8mb4_unicode_ci
init_connect=‘SET NAMES utf8mb4’
并把這個文件放到/data/mysql/conf下。
3.3 運行MySQL容器
docker run -d -p 3306:3306 --privileged=true -v /data/mysql/log:/var/log/msql -v /data/mysql/data:/var/lib/mysql -v /data/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 --name mysql5.7 mysql:5.7.44
新建本地掛載配置文件夾(位置隨意)
1、創建文件夾(位置隨意):data、conf
redis 默認配置只能夠本地連接、不能進行遠程訪問需要手動掛載 redis 配置文件
mkdir -p /root/docker/redis/datamkdir -p /root/docker/redis/conf
sudo mkdir -p /mydata/redis/confsudo touch /mydata/redis/conf/redis.conf
2、新增配置文件:redis.conf
redis 配置文件掛載:以配置文件方式啟動redis 容器
掛載:將宿主的文件和容器內部目錄相關聯、相互綁定、在宿主機內修改文件的話也隨之修改容器內部文件
創建文件:
sudo touch /mydata/redis/conf/redis.conf
redis.conf內容配置:
#bind 127.0.0.1 //允許遠程連接
protected-mode no
appendonly yes //持久化
requirepass 2419 //密碼
3、掛載redis 的持久化文件(為了數據的持久化)
配置文件:liunx 下redis.conf文件位置: /home/redis/myredis/redis.confliunx 下redis的data文件位置 : /home/redis/myredis/data位置隨便選擇
不存在就直接創建/home/redis/myredis 文件夾:命令:mkdir -p /home/redis/myredis
創建/啟動Redis容器(創建鏡像實例)
docker run --name my_redis -p 6379:6379 \
-v /root/docker/redis/data:/data \
-v /root/docker/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf