使用配置好的虛擬機器進行docker安裝,並使用docker安裝mysql和redis。
可以參考docker的官方文件docker官網.
刪除系統已經有的docker:
yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
設定docker位址和安裝依賴的包
$ sudo yum install -y yum-utils
~~$ sudo yum-config-manager \
--add-repo \
注意預設使用的是國外的源,安裝速度會非常慢!可以設定為阿里的源
yum-config-manager --add-repo
安裝docker
yum install docker-ce docker-ce-cli containerd.io
ce是社群免費版本,io是操作口。
修改docker使用的源
vim /etc/docker/daemon.json
也可以使用阿里雲的映象加速服務。
啟動docker
systemctl start docker
重啟docker 的方法
systemctl restart docker
設定docker開機自啟動
systemctl enable docker
本文使用mysql5.7版本,最新的8.0版本修改了密碼規則,遠端聯絡需要進入到映象內部修改檔案。
docker pull mysql:5.7
啟動mysql
docker run --name mysql -p 3306:3306 -e mysql_root_password=123456 -d \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
mysql:5.7
-v是掛載mysql 的資料。
可以使用docker ps
命令檢視啟動的mysql
連線mysql
使用軟體sqlyog連線mysql
連線成功說明能夠正確使用。mysql 的日誌資料和配置儲存在掛載的資料夾中。
進入容器內部
docker exec -it mysql /bin/bash
docker映象內部也是乙個linux系統,進入之後同樣的操作介面,用於修改映象內部的檔案。
由於使用了檔案掛載,所以在/mydata/mysql/conf 目錄下同樣能修改配置。
修改mysql配置
進入/mydata/mysql/conf 目錄
vim /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
修改字符集,跳過網域名稱解析。
docker pull redis
建立掛載檔案
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf
啟動redis:
docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf
redis-server /etc/redis/redis.conf 以該檔案作為配置檔案啟動
連線redis
使用redis客戶端連線redis測試
docker exec -it redis redis-cli
使用軟體連線:如果是雲伺服器,先開防火牆,不然連不上
配置redis
電商課題V 分布式鎖
鄭昀彙總 併發控制 防止併發 distributed lock distributed lock manager 電商目的 保證整個 分布式 系統內對乙個重要事物 訂單,賬戶等 的有效操作執行緒 同一時間內有且只有乙個。比如交易中心有n臺伺服器,訂單中心有m臺伺服器,如何保證乙個訂單的同一筆支付處理...
03分布式電商專案 系統架構
soa 是 service oriented architecture 的首字母簡稱,它是一種支援面向服務的架構樣式。從服務 基於服務開發和服務的結果來看,面向服務是一種思考方式。其實 soa 架構更多應用於網際網路專案開發。為什麼網際網路專案會採用 soa 架構呢?隨著網際網路的發展,應用的規模不...
04分布式電商專案 Dubbox 簡介
dubbox 是乙個分布式服務框架,其前身是阿里巴巴開源專案 dubbo 被國內電商及網際網路專案中使用,後期阿里巴巴停止了該項目的維護,當當網便在 dubbo 基礎上進行優化,並繼續維護,為了與原有的 dubbo 區分,故將其命名為 dubbox。dubbox 致力於提供高效能和透明化的 rpc ...