文章目錄
- 前言
- 一、mysql
- 二、redis
- 三、 nginx
- 總結
前言
對于docker常用的compose經常是隨用隨寫,但是時間長了總會忘記,在此記錄下,以便后期翻看
一、mysql
代碼如下(示例):
version: "3.0" # 切記版本號不要高于4.0,這里指的是compose的版本號
services:
mysql:
image: mysql:8.0.26
container_name: mysql # container name
ports:
- "3307:3306" # external port 3307
volumes:
- /home/docker/mysql/data:/var/lib/mysql # 資料存放在/home/docker/mysql/data
- /home/docker/mysql/conf.d:/etc/mysql/conf.d # custom config
- /home/docker/mysql/log:/var/log/mysql # log
environment:
- MYSQL_ROOT_PASSWORD=root # init pwd
- TZ=GMT%2B8
restart: always # docker重啟時,容器自動重啟
networks: # mysql服務一般都要做一個固定的容器IP,便于后期容器間進行通訊
default: # 此default并不是 默認 的意思,下面有宣告的
ipv4_address: 181.18.0.6
privileged: true # 為此容器開啟root權限,防止出現一些權限問題
command:
--default-authentication-plugin=mysql_native_password # 這個引數盡量加上,防止因為使用的mysql版本過高而導致密碼加密的方式改變,進而會造成在認證時不通過
--character-set-server=utf8mb4
--collation-server=utf8mb4_general_ci
--explicit_defaults_for_timestamp=true
--lower_case_table_names=1 # 表名統一不區分大小寫
networks: # 使用的network都要進行宣告
default:
external:
name: zsnet # zsnet是我自定義的網段
當我們在進行將windows下的資料遷移到linux下,可能會出現中文亂碼的問題,此時可以通過在mysq的命令列以 show variables like “%char%” 查看是否是編碼不統一造成的,如果是因為編碼不統一造成的,可以直接將以下配置添加到mysql的配置當中去,將這段配置放在/conf.d/docker.cnf
[mysqld]
skip-host-cache
skip-name-resolve
[mysql]
default-character-set = utf8
[mysql.server]
default-character-set = utf8
[mysqld_safe]
default-character-set = utf8
[client]
default-character-set = utf8
[mysqld]
character_set_server=utf8
init_connect='SET NAMES utf8'
二、redis
代碼如下(示例):下面欄位的意思在mysql差不多都解釋了,在此不在進行解釋
version: "3.0"
services:
redis:
image: redis:6.2.5-alpine
ports:
- "6380:6379" # 改成你需要映射出去的埠,我這里被占用了,所以使用了6380
restart: always
container_name: redis2
command: redis-server --appendonly yes # 如果不做集群,此命令就要添加上
networks:
default:
ipv4_address: 181.18.0.2
volumes:
- /home/docker/redis/data:/data
- /home/docker/redis/redis.conf:/usr/local/etc/redis/redis.conf
- /home/docker/redis/logs:/logs
networks:
default:
external:
name: zsnet
三、 nginx
代碼如下(示例):
version: "3.0"
services:
nginx:
restart: always
image: nginx:stable-alpine-perl
container_name: nginx
ports:
- 81:80
networks:
default:
ipv4_address: 181.18.0.3
volumes:
- /home/docker/nginx/nginx.conf:/etc/nginx/nginx.conf
- /home/docker/nginx/html:/usr/share/nginx/html
- /home/docker/nginx/logs:/var/log/nginx
networks:
default:
external:
name: zsnet
總結
目前測驗并沒有什么問題,如果有什么問題,歡迎批評指正
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/292175.html
標籤:其他
下一篇:wos新版wss協議采集案例
