docker mysql配置 丢失_Ubuntu16.04服务器环境配置 – Docker、MySQL、Redis
Ubuntu16.04 服務器環境配置 – Docker、MySQL、Redis
安裝Docker
1. 卸載舊版本
sudo apt-get remove docker docker-engine docker.io2. 安裝 https 相關的軟件包
sudo apt-get update # 先更新一下軟件源庫信息sudo apt-get install apt-transport-https ca-certificates curl software-properties-common3. 設置apt倉庫地址
鑒于國內網絡問題,使用國內(阿里云)地址,添加 阿里云 的apt倉庫(使用國內源)。
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"4. 安裝 Docker 軟件
sudo apt-get updatesudo apt-get install docker-ce # 安裝最新版的docker5. 查看Docker版本
docker --version6. 解決 docker cli 權限問題
想要避免每次在執行 docker 命令都加一個 sudo,可以創建一個 docker 用戶組,并將要使用 docker 的普通用戶添加到該組。dockerd 進程啟動時會將 Unix socket 的讀寫權限都賦予給 docker 用戶組。這樣就不需要使用 sudo 了。
創建 docker 用戶組
sudo groupadd docker添加當前用戶到 docker 用戶組
sudo usermod -aG docker $USER接下來注銷當前用戶并重新登錄,使前面的設置生效。
7. 使用 docker hub 國內鏡像
對于使用 systemd 的系統(Ubuntu 16.04+、Debian 8+、CentOS 7), 在配置文件 /etc/docker/daemon.json 中加入:
{ "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/"]}重新啟動 dockerd:
sudo systemctl restart docker安裝Redis
1. 創建目錄redis,用于存放后面的相關東西
sudo mkdir -p /data/redis/datadirsudo chown -R $USER:$USER /data/redis/2. 拉取Redis最新版鏡像
docker pull redis3. 運行容器
docker run --name redis --restart=always -p 6379:6379 -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -v /data/redis/datadir:/data -d redis redis-server --appendonly yes命令說明:
– –restart=always : 設置實例自動重啟
– -p 6379:6379 : 將容器的6379端口映射到主機的6379端口
– -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime : Docker容器時間與主機時間保持一致
– -v /data/redis/datadir:/data : 將主機中redis的data掛載到容器的/data
– redis-server –appendonly yes : 在容器執行redis-server啟動命令,并打開redis持久化配置
4. 連接、查看容器
docker exec -it redis redis-cli安裝Mysql
1. 創建目錄mysql
用于存放后面的相關東西。
sudo mkdir -p /data/mysql/datadir /data/mysql/logs /data/mysql/conf.dsudo chown -R $USER:$USER /data/mysql/2. 添加配置文件my.cnf
vi /data/mysql/conf.d/my.cnf內容如下:
[mysqld]pid-file = /var/run/mysqld/mysqld.pidsocket = /var/run/mysqld/mysqld.sockdatadir = /var/lib/mysql#log-error = /var/log/mysql/error.log# By default we only accept connections from localhost#bind-address = 127.0.0.1# Disabling symbolic-links is recommended to prevent assorted security riskssymbolic-links=0character_set_server=utf8mb4character_set_filesystem=utf8mb4collation-server=utf8mb4_unicode_ciinit-connect='SET NAMES utf8mb4'init_connect='SET collation_connection = utf8mb4_unicode_ci'skip-character-set-client-handshake3. 拉取Mysql版本為5.7的鏡像
docker pull mysql:5.74. 運行容器
docker run --restart=always --name mysql5.7 -p 3306:3306 -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime -v /data/mysql/datadir:/var/lib/mysql -v /data/mysql/logs:/logs -v /data/mysql/conf.d/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.7命令說明:
– -p 3306:3306:將容器的 3306 端口映射到主機的 3306 端口。
– -v /etc/timezone:/etc/timezone -v /etc/localtime:/etc/localtime : Docker容器時間與主機時間保持一致
– -v /data/mysql/datadir:/var/lib/mysql : 將主機mysql下的datadir目錄掛載到容器的 /var/lib/mysql
– -v /data/mysql/logs:/logs : 將主機mysql目錄下的 logs 目錄掛載到容器的 /logs
– -v /data/mysql/conf.d/my.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf 將主機mysql目錄下的 conf.d/my.cnf 掛載到容器的 /etc/mysql/mysql.conf.d/mysqld.cnf
– -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用戶的密碼。
5. 查看容器啟動情況
docker ps6. 連接Mysql數據庫
mysql -h127.0.0.1 -uroot -p1234567. 新建庫并設置用戶訪問權限
新建數據庫testdb
create database testdb;創建用戶testuser,可以遠程訪問
create user testuser@'%' identified by 'test123';設置用戶testuser可在遠程訪問訪問庫testdb
GRANT ALL PRIVILEGES ON testdb.* TO testuser;FLUSH PRIVILEGES;參考:
總結
以上是生活随笔為你收集整理的docker mysql配置 丢失_Ubuntu16.04服务器环境配置 – Docker、MySQL、Redis的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: esc指令检查打印状态_【行业知识分享】
- 下一篇: linux cmake编译源码,linu