一:安裝docker社區版。
Centos系列(最好用7以上的版本,docker需要3.1以上的linux內核版本)
sudo yum install docker-ce docker-ce-cli containerd.io
sudo systemctl start docker
sudo docker run hello-world
如果你敲docker info需要root密碼,敲下面的。
sudo usermod -aG docker (你的用戶)
二:搭Mysql
docker pull mysql
默認會下最新版。需要其他版本,請加后綴tag比如, mysql:5.7,就會抽取5.7的。
docker run -p 3306:3306 --name sql_docker -e MYSQL_ROOT_PASSWORD=123 -d mysql
說明
-p 3306:3306 將容器內3306端口映射到宿主機
--name 運行的容器名
-e environment(環境),指定容器啟動時候的環境變量。可以指定其他環境變量如下。
MYSQL_ROOT_PASSWORD:root 密碼 。
MYSQL_DATABASE:[可選的] 容器啟動后自動創建的數據庫。
MYSQL_USER, MYSQL_PASSWORD: [可選的] 創建對應MYSQLDATABASE數據庫的用戶名和密碼,并默認擁有MYSQL_DATABSE所有權限
MYSQL_ALLOW_EMPTY_PASSWORD:[可選] 是否允許密碼為空。
MYSQL_RANDOM_ROOT_PASSWORD:[可選] 隨機生成root密碼,并會通過標準輸出輸出到控制臺。
MYSQL_ONETIME_PASSWORD:[可選] 我感覺沒啥用,就是說你第一次登陸mysql后必須修改你的root密碼。
-d 后臺運行
最后指定鏡像名稱
關于更多的定制[選看]
使用本地mysql.cnf映射到容器內
$ docker run --name some-mysql -v {你的mysql配置地址}:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
嗯就是用 -v
將容器內mysql數據存儲到宿主機[選看]
$ docker run --name some-mysql -v {你的存儲地址}:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
和上面配置是一樣的使用-v關鍵字
最后進入mysql容器開啟遠程登陸
docker exec -it {運行起來的mysql容器名,或者hash碼} bash
mysql -uroot -p
grant all privileges on *.* to 'root'@'%' identified by '{你的root密碼}';
flush privileges;
#最后退出exit即可
最后測試連接,用可視化工具連接成功
三:搭建Redis
docker pull redis
#一樣的可以通過 redis:{tag名} 來選擇拉取那個版本的鏡像
docker run --name {你想要等redis運行時候容器名} -p 6379:6379 -d redis
定制化配置文件,一樣的使用-v參數。
$ docker run -v {你的配置文件地址}:/usr/local/etc/redis/redis.conf --name {你的容器名} redis redis-server /usr/local/etc/redis/redis.conf
使用vscode redis插件測試連接,成功。
四:MongoDb
命令不一一介紹了把,上面幾個講的挺詳細的,有問題請留言。
docker pull mongo
docker run --name myMongo -p 27017:27017 -d mongo:tag可視化工具連接看下,連接成功。
關于定制
定制配置文件啟動
docker run --name some-mongo -v /my/custom:/etc/mongo -d mongo --config /etc/mongo/mongod.conf
環境變量, 一樣的用 -e
MONGO_INITDB_ROOT_USERNAME, MONGO_INITDB_ROOT_PASSWORD
宿主機存儲數據 ,一樣一樣用 -v
docker run --name some-mongo -v /my/own/datadir:/data/db -d mongo
五:RabbitMQ
docker pull rabbitmq
docker run -d --name mq -p 5672:5672 --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=test -e RABBITMQ_DEFAULT_PASS=test rabbitmq
下次再測試,沒時間寫稿了。還有其他中間件待更新。