mysql
查找鏡像:
docker search mysql
拉取鏡像:
docker pull mysql:版本號(hào)
然后創(chuàng)建一個(gè)文件夾用來存放mysql的配置文件彪笼,日志钻注,以及數(shù)據(jù)等(也就是所謂的掛載目錄,作用就是將此目錄中的文件或文件夾覆蓋掉容器內(nèi)部的文件或文件夾)
mkdir mysql
在上面創(chuàng)建的目錄下使用命令啟動(dòng)mysql容器
docker run -it -d -p 3306:3306 --name mysql -v $PWD/logs:/var/log -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:8.0.21 --lower_case_table_names=1
docker run -it -d -p 3306:3306 --name mysql -v $PWD/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/logs:/var/log -v $PWD/data:/var/lib/mysql -v $PWD/data/mysql-files:/var/lib/mysql/mysql-files -e MYSQL_ROOT_PASSWORD=123456 docker.io/mysql:8.0.21
命令說明:
-d:表示后臺(tái)運(yùn)行,不加-d執(zhí)行上面的命令你就會(huì)看到mysql啟動(dòng)的日志信息了
-p:表示端口映射配猫,冒號(hào)左面的是我們的宿主機(jī)的端口幅恋,也就是我們虛擬機(jī)的端口,而右側(cè)則表示的是mysql容器內(nèi)的端口
--name:是我們給mysql容器取的名字
-v:表示掛載路徑泵肄,$PWD表示當(dāng)前目錄下捆交,冒號(hào)左面的表示我們宿主機(jī)的掛載目錄淑翼,也就是我們虛擬機(jī)所在的文件路徑,冒號(hào)右邊則表是的是mysql容器在容器內(nèi)部的路徑零渐,上面的命令我分別掛載了my.cnf(mysql的配置文件)窒舟,如需使用配置文件的方式啟動(dòng)mysql,這里則需要加上诵盼,mysql的日志惠豺,還有mysql存放數(shù)據(jù)所在的目錄
-e MYSQL_ROOT_PASSWORD=123456:初始化 root 用戶的密碼。
lower_case_table_names=1: 設(shè)置表名不區(qū)分大小寫
連接數(shù)據(jù)庫(kù):
sudo docker exec -it mysql bash;
mysql -uroot -p123456;
創(chuàng)建新用戶:
create user 'dev-mysql' identified by '123456';
授權(quán):
GRANT ALL PRIVILEGES ON *.* TO 'dev-mysql';
刷新:
FLUSH PRIVILEGES;
mongo
啟動(dòng):
docker run -p 27017:27017 -v $PWD/mongo:/data/db --name docker_mongodb -d mongo:版本號(hào)
ES
啟動(dòng)es:
docker run -id --name elasticsearch -e "discovery.type=single-node" -p 9200:9200 -p 9300:9300 elasticsearch:7.9.0
##redis
啟動(dòng) redis:
docker run -p 6379:6379 --name redis -v /root/redis/redis.conf:/etc/redis/redis.conf -v /root/redis/data:/data -d redis:latest redis-server /etc/redis/redis.conf --appendonly yes
##nacos
啟動(dòng)nacos:
docker run --env MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server:1.3.2