docker一鍵部署MySQL的實現(xiàn)示例
1. 前期準(zhǔn)備
新部署前可以從倉庫(repository)下載 MySQL 鏡像,或者從已有部署中的鏡像生成文件:
# 查看當(dāng)前本地鏡像 docker images # 生成本地鏡像文件 docker save <IMAGE ID> -o mysql_8023.tar
2. 導(dǎo)入鏡像
# 在新部署的機器上導(dǎo)入鏡像 docker load -i mysql_8023.tar docker images
3. 創(chuàng)建部署腳本文件
mysql-deploy.sh 文件內(nèi)容如下:
#!/bin/bash # 生成目錄 mkdir -p /usr/local/docker/mysql/mysql-files mkdir -p /usr/local/docker/mysql/conf mkdir -p /usr/local/docker/mysql/logs mkdir -p /usr/local/docker/mysql/data # 將配置文件復(fù)制到相應(yīng)目錄 cp /root/my.cnf.template /usr/local/docker/mysql/conf/my.cnf # 修改屬主 chown -R polkitd:root /usr/local/docker/mysql/ # 創(chuàng)建容器 docker run -p 3306:3306 \ ? ? -v /usr/local/docker/mysql/mysql-files:/var/lib/mysql-files \ ? ? -v /usr/local/docker/mysql/conf:/etc/mysql \ ? ? -v /usr/local/docker/mysql/logs:/var/log/mysql \ ? ? -v /usr/local/docker/mysql/data:/var/lib/mysql \ ? ? -e MYSQL_ROOT_PASSWORD=root \ ? ? --name mysql \ ? ? --restart=always \ ? ? -e TZ=Asia/Shanghai \ ? ? -d cbe8815cbea8
4. MySQL 服務(wù)器配置文件模板
my.cnf.template 文件內(nèi)容如下:
[mysqld] max_allowed_packet = 1G explicit_defaults_for_timestamp=0 lower_case_table_names=1 log_timestamps=SYSTEM sql_mode='STRICT_TRANS_TABLES,ERROR_FOR_DIVISION_BY_ZERO,NO_ENGINE_SUBSTITUTION' binlog_expire_logs_seconds=259200 secure_file_priv='' log_bin_trust_function_creators=on character-set-server = utf8mb4 default_authentication_plugin=mysql_native_password datadir=/var/lib/mysql/ socket=/var/run/mysqld/mysqld.sock wait_timeout=30 innodb_buffer_pool_size = 4G max_connections = 1000 default-time-zone = '+8:00' port = 3306 skip-name-resolve innodb_print_all_deadlocks=1 log_output='table' server-id = 2955 innodb_max_dirty_pages_pct = 90 innodb_lock_wait_timeout = 120 gtid-mode = off local_infile=0 log_error='/var/lib/mysql/master.err' skip_symbolic_links=yes [mysqldump] quick max_allowed_packet = 1G [mysqld_safe] open-files-limit = 8192
5. 執(zhí)行腳本創(chuàng)建容器
./mysql-deploy.sh
6. 后續(xù)工作
# 進入容器 docker exec -it mysql /bin/bash # 登錄 MySQL mysql -uroot -proot -S /var/lib/mysql/mysqld.sock # 創(chuàng)建用戶 create user dba identified by '123456'; grant all on *.* to dba with grant option;
7. 基本維護
# 查看鏡像 docker images # 查看容器 docker ps # 查看容器詳細信息 docker inspect <CONTAINER ID> # 重啟容器 docker restart mysql # 停止容器 docker stop mysql # 刪除容器 docker rm mysql
到此這篇關(guān)于docker一鍵部署MySQL的實現(xiàn)示例的文章就介紹到這了,更多相關(guān)docker部署MySQL內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Docker中部署mysql服務(wù)的方法及遇到的坑
- docker部署mysql后無法連接的解決方式
- 詳解使用Docker部署MySQL(數(shù)據(jù)持久化)
- docker部署mysql 實現(xiàn)遠程連接的示例代碼
- Docker部署Mysql8的實現(xiàn)步驟
- 使用Docker部署MySQL 5.7&8.0主從集群的方法步驟
- Docker 部署 Mysql8.0的方法示例
- Docker部署Django+Mysql+Redis+Gunicorn+Nginx的實現(xiàn)
- docker部署MySQL時無法啟動問題的解決方法
- docker部署mysql8并設(shè)置可遠程連接
- 使用docker-compose部署mysql的完整步驟
相關(guān)文章
docker-compose網(wǎng)絡(luò)設(shè)置之networks的使用
本文詳細解釋了在使用 Docker Compose時如何配置網(wǎng)絡(luò),包括創(chuàng)建、使用和問題解決等方面,介紹了如何通過docker-compose.yml文件快速編排和部署應(yīng)用服務(wù),同時解決網(wǎng)絡(luò)隔離問題,感興趣的可以了解一下2024-10-10Ubuntu Docker 的安裝部署及簡單應(yīng)用
這篇文章主要介紹了Ubuntu Docker 的安裝部署的相關(guān)資料,這里說明介紹了詳細的步驟,需要的朋友可以參考下2016-10-10谷歌技術(shù)人員解決Docker鏡像體積太大問題的方法
這篇文章主要介紹了谷歌技術(shù)人員解決Docker鏡像體積太大問題的方法,涉及虛擬機,谷歌docker鏡像構(gòu)建實踐及構(gòu)建工具bazel的介紹等相關(guān)內(nèi)容,具有一定參考價值,需要的朋友可以了解下。2017-11-11Docker中部署Redis集群與部署微服務(wù)項目的詳細過程
這篇文章主要介紹了Docker中部署Redis集群與部署微服務(wù)項目,主要包括使用docker部署的好處以及Docker與Kubernetes對比分析,需要的朋友可以參考下2022-06-06關(guān)于dockerfile build過程中報/bin/sh: pip: command not found的解決方法
這篇文章主要介紹了關(guān)于dockerfile build過程中報/bin/sh: pip: command not found的解決方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2021-03-03