天天看點

Docker 檔案挂載與端口映射

Docker 檔案挂載與端口映射

以mysql為例:

docker run --name mysqlas   #資料庫命名
-p 3306:3306    #端口映射
-v /mydata/mysql/log:/var/log/mysql     #檔案挂載 
-v /mydata/mysql/data:/var/lib/mysql 
-v /mydata/mysql/conf:/etc/mysql
-e MYSQL_ROOT_PASSWORD=root     #設定登入密碼
-d mysql:5.7   #MySQL資料庫如果不是最新版本,必須加版本号
--character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
sudo docker run --name mysql  -p 3306:3306  -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql  -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
           

Docker容器中MySQl配置檔案:

vi /mydata/mysql/conf/my.cnf
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection=utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve
           

redis 端口映射與檔案挂載

mkdir -p /mydata/redis/conf

touch /mydata/redis/conf/redis.conf

docker run --name redis     
-p 6379:6379     
-v /mydata/redis/data:/data
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf
-d redis redis-server/etc/redis/redis.conf