docker安裝mysql、redis鏡像方式
docker安裝mysql、redis鏡像
docker鏡像商店:官方鏡像商店
redis安裝下載
下載鏡像:
可直接默認(rèn)下載最新鏡像,也可以指定版本下載【注意,版本差異不大的軟件可以直接下載最新版本,差異大的,例如java,mysql等,最好指定熟悉的版本進(jìn)行下載】
docker pull redis
啟動(dòng)鏡像:
docker run --name=redis -d --restart=always -p 6379:6379 redis?
--name
:別名-d
:后臺(tái)運(yùn)行,鏡像不會(huì)隨窗口關(guān)閉而關(guān)閉--restart=always
:隨docker啟動(dòng)而自啟 可以進(jìn)行后配置:docker update --restart=always [容器名稱(chēng)|id]-p
:6379[主機(jī)端口]:6379[映射端口],如果有版本號(hào),應(yīng)該帶上版本號(hào)redis:6.2.6
掛載外部文件啟動(dòng):
提前創(chuàng)建好文件夾和文件,redis.conf如果沒(méi)有特別的配置,可以參考(測(cè)試環(huán)境,生產(chǎn)環(huán)境換成本地,關(guān)閉密碼即可):
#redis使用自定義配置文件啟動(dòng) docker run -v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \ -v /mydata/redis/data:/data \ -d --name redis \ --restart=always \ -p 6379:6379 \ redis:latest redis-server /etc/redis/redis.conf #最后這一句代表自啟動(dòng)方式,redis啟動(dòng)默認(rèn)不加載此處配置 redis-server /etc/redis/redis.conf
mysql安裝下載
鏡像參考redis直接下載對(duì)應(yīng)版本即可。
-v:配置掛載,冒號(hào)左邊為容器內(nèi)部想要掛載出去的配置路徑,右邊為掛載的實(shí)際路徑
例如:mysql,掛載日志,數(shù)據(jù),配置等信息到外部
docker run -p 3306:3306 --name mysql \ -v /mydata/mysql/log:/var/log/mysql \ -v /mydata/mysql/data:/var/lib/mysql \ -v /mydata/mysql/conf/my.cnf:/etc/mysql/my.cnf \ -e MYSQL_ROOT_PASSWORD=root \ -d mysql:5.7
修改配置文件 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 lower_case_table_names=1
最后說(shuō)一下文件外部掛載的優(yōu)缺點(diǎn):
- 優(yōu)點(diǎn):修改配置方便,不用每次都進(jìn)入容器內(nèi)部
- 缺點(diǎn):外部掛載方式鏡像將不可以打包傳遞
docker安裝使用及用docker安裝mysql,Redis,nacos
安裝
卸載之前的docket
sudo yum remove docker \ ? ? ? ? ? ? ? ? ? ?docker-client \ ? ? ? ? ? ? ? ? ? ?docker-client-latest \ ? ? ? ? ? ? ? ? ? ?docker-common \ ? ? ? ? ? ? ? ? ? ?docker-latest \ ? ? ? ? ? ? ? ? ? ?docker-latest-logrotate \ ? ? ? ? ? ? ? ? ? ?docker-logrotate \ ? ? ? ? ? ? ? ? ? ?docker-engine
sudo yum install -y yum-utils ?//設(shè)置存儲(chǔ)庫(kù)
設(shè)置倉(cāng)庫(kù)地址,默認(rèn)國(guó)外,也可以設(shè)置阿里云的
sudo yum-config-manager \ ? ? --add-repo \ ? ? https://download.docker.com/linux/centos/docker-ce.repo
yum-config-manager \ ? ? --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
安裝docket引擎等組件
sudo yum install docker-ce docker-ce-cli containerd.io
啟動(dòng)docket
sudo systemctl start docker
配置加速鏡像
sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF' { ? "registry-mirrors": ["https://chqac97z.mirror.aliyuncs.com"] } EOF
sudo systemctl daemon-reload sudo systemctl restart docker
docket常用命令
systemctl stop docker //關(guān)閉docker systemctl restart docker //重啟docker systemctl status docker ?//查看docker狀態(tài) systemctl enable docker ?//設(shè)置docker開(kāi)機(jī)自啟動(dòng) docker images ?//查看自己服務(wù)器的鏡像列表 docker search 鏡像名 ?//搜索指定鏡像 docker search --filter=STARS=9000 mysql ?//搜索 STARS >9000的 mysql 鏡像 docker pull 鏡像名 //拉取docker倉(cāng)庫(kù)里的鏡像 docker pull 鏡像名:tag ?//拉取docker倉(cāng)庫(kù)里指定版本的鏡像,具體版本號(hào)需要到鏡像官網(wǎng)查看(https://hub.docker.com/search?type=image) docker pull mysql 5.7.30 //拉取5.7.30的mysql docker run 鏡像名 ?//運(yùn)行鏡像 docker run 鏡像名:Tag ?//運(yùn)行指定版本的鏡像 docker rmi -f 鏡像名/鏡像ID //刪除一個(gè)鏡像,鏡像沒(méi)有被別的鏡像使用才可以刪除 docker rmi -f 鏡像名/鏡像ID 鏡像名/鏡像ID 鏡像名/鏡像ID ?//刪除多個(gè)鏡像,空格隔開(kāi) docker rmi -f $(docker images -aq) //刪除全部鏡像 ?-a 意思為顯示全部, -q 意思為只顯示ID docker image rm 鏡像名稱(chēng)/鏡像ID ?//強(qiáng)制刪除鏡像 docker save 鏡像名/鏡像ID -o 鏡像保存在哪個(gè)位置與名字 docker save tomcat -o /myimg.tar //保存Tomcat到myimg.tar里 docker commit -m="提交信息" -a="作者信息" 容器名/容器ID 提交后的鏡像名:Tag docker ps ?//查看正在運(yùn)行容器列表 docker ps -a ?//查看所有容器 -----包含正在運(yùn)行 和已停止的 docker exec -it 容器名 路徑//進(jìn)入容器 里的路徑 #刪除一個(gè)容器 docker rm -f 容器名/容器ID #刪除多個(gè)容器 空格隔開(kāi)要?jiǎng)h除的容器名或容器ID docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID #刪除全部容器 docker rm -f $(docker ps -aq) docker start 容器ID/容器名 ?//啟動(dòng)容器 docker stop 容器ID/容器名?? ?//停止容器 docker restart 容器ID/容器名?? ?//重啟容器 docker kill 容器ID/容器名 ?//kill 容器 docker cp 容器ID/名稱(chēng): 容器內(nèi)路徑 ?容器外路徑?? ??? ?//容器內(nèi)拷文件到外面 docker cp 容器外路徑 容器ID/名稱(chēng): 容器內(nèi)路徑?? ??? ?//容器外拷文件到容器內(nèi) docker run -it -d --name 容器別名 鏡像名 --restart=always ? //容器隨著docker啟動(dòng)而啟動(dòng) docker update --restart=always 容器Id 或者 容器名 //修改容器啟動(dòng)配置(設(shè)置自啟動(dòng)) docker rename 容器ID/容器名 新容器名 ?//更改容器名 docker logs container-id?? ?//查看容器日志 sudo docker info | grep "Docker Root Dir" ?//查看docker工作目錄 du -hs /var/lib/docker/ ?? ?//查看docker磁盤(pán)占用總體情況 docker system df?? ?//查看Docker的磁盤(pán)使用具體情況 docker rm `docker ps -a | grep Exited | awk '{print $1}'` ?//# ?刪除異常停止的容器 docker rmi -f ?`docker images | grep '<none>' | awk '{print $3}'` //刪除名稱(chēng)或標(biāo)簽為none的鏡像
使用docker安裝MySQL
sudo docker pull mysql:5.7.39 ?//拉取mysql鏡像到本地 # --name指定容器名字 -v目錄掛載 -p指定端口映射(宿主機(jī)端口:容器端口) ?-e設(shè)置mysql參數(shù) -d后臺(tái)運(yùn)行 sudo docker run --name mysql -v /usr/local/mysql/data:/var/lib/mysql -v /usr/local/mysql/conf:/etc/mysql -v /usr/local/mysql/log:/var/log/mysql -v /usr/local/mysql/mysql-files:/var/lib/mysql-files/ ?-e MYSQL_ROOT_PASSWORD=root ?-p 3306:3306 -d mysql:5.7 docker exec -it 容器名稱(chēng)|容器id bin/bash ?//進(jìn)入容器里 exit ?//退出容器 -v /usr/local/mysql/mysql-files:/var/lib/mysql-files/
驗(yàn)證:用連接工具測(cè)試能不能連接成功,或window下cmd測(cè)試
ssh -v -h 3306 IP
使用docker安裝Redis
docker pull redis:6.0.10 ?//拉取鏡像
創(chuàng)建配置文件,docker-Redis里面默認(rèn)沒(méi)有配置文件,在宿主機(jī)創(chuàng)建并掛載到容器里
mkdir /home/redis cd /home/redis vi redis.conf
添加如下內(nèi)容
bind 0.0.0.0 ?開(kāi)啟遠(yuǎn)程權(quán)限 appendonly yes ?開(kāi)啟aof持久化
啟動(dòng)Redis容器并掛載文件
docker run --name redis ?-v /home/redis/data:/data ?-v /home/redis/redis.conf:/usr/local/etc/redis/redis.conf -p 6379:6379 -d redis:6.0.10 ?redis-server /usr/local/etc/redis/redis.conf docker exec -it redis redis-cli //進(jìn)入Redis客戶(hù)端
安裝nacos
拉取鏡像
docker pull nacos/nacos-server
查看鏡像
docker images
啟動(dòng)容器
docker run --env MODE=standalone --name mynacos -d -p 8848:8848 docker.io/nacos/nacos-server
查看啟動(dòng)日志
docker logs -f mynacos
日志中顯示nacos服務(wù)地址為:
http://172.18.0.2:8848/nacos/index.html
默認(rèn)賬號(hào)密碼都是nacos
進(jìn)入nacos容器查看配置
docker ps docker exec -it 容器名或ID /bin/bash ls cd conf/ ls
修改啟動(dòng)配置文件
進(jìn)入
docker exec -it nacos /bin/bash
進(jìn)入啟動(dòng)腳本
cd /home/nacos/bin vim docker-startup.sh
總結(jié)
以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- Docker下多容器搭建 lamp的詳細(xì)過(guò)程(httpd+mysql+php+redis)
- Docker安裝MySQL和Redis的方法步驟
- 解決docker重啟redis,mysql數(shù)據(jù)丟失的問(wèn)題
- Docker 部署Mysql 服務(wù)和Redis 服務(wù)的方法
- Docker安裝Tomcat、MySQL和Redis的步驟詳解
- Docker部署Django+Mysql+Redis+Gunicorn+Nginx的實(shí)現(xiàn)
- docker搭建php+nginx+swoole+mysql+redis環(huán)境的方法
- Docker安裝常用組件(mysql,redis)的方法
- Docker + Nodejs + Kafka + Redis + MySQL搭建簡(jiǎn)單秒殺環(huán)境
- Docker一鍵部署MySQL和Redis數(shù)據(jù)庫(kù)的實(shí)現(xiàn)
相關(guān)文章
docker kubernetes dashboard安裝部署詳細(xì)介紹
這篇文章主要介紹了docker kubernetes dashboard安裝部署詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下2016-10-10導(dǎo)出與導(dǎo)入Docker的容器實(shí)現(xiàn)示例
本文主要介紹了導(dǎo)出與導(dǎo)入Docker的容器實(shí)現(xiàn)示例,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2021-12-12Docker+Jenkins實(shí)現(xiàn)一鍵自動(dòng)化部署項(xiàng)目的圖文教學(xué)
Jenkins是一個(gè)廣泛使用的開(kāi)源持續(xù)集成工具,它能自動(dòng)化構(gòu)建,測(cè)試和部署軟件項(xiàng)目,本文主要介紹了關(guān)于docker搭建Jenkins實(shí)現(xiàn)一鍵自動(dòng)化部署項(xiàng)目,需要的朋友可以參考下2025-05-05用Jenkins+Docker+Maven+Git實(shí)現(xiàn)持續(xù)集成(超詳細(xì))
本文通過(guò)較大的篇幅詳細(xì)介紹了Harbor這款企業(yè)級(jí)docker管理工具的使用,并通過(guò)案例演示了如何在jenkins中配置任務(wù)集成Harbor,從而實(shí)現(xiàn)鏡像的構(gòu)建推送與分發(fā),需要的朋友可以參考下2024-04-04docker-compose+nginx部署前后端分離的項(xiàng)目實(shí)踐
本文主要介紹了docker-compose?+?nginx部署前后端分離的項(xiàng)目,文中通過(guò)示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-03-03Docker創(chuàng)建MongoDB容器并添加root密碼驗(yàn)證與更多用戶(hù)詳細(xì)步驟
MongoDB是一個(gè)著名的面向文檔的數(shù)據(jù)庫(kù),被許多現(xiàn)代Web應(yīng)用程序使用,下面這篇文章主要給大家介紹了關(guān)于Docker創(chuàng)建MongoDB容器并添加root密碼驗(yàn)證與更多用戶(hù)的相關(guān)資料,需要的朋友可以參考下2023-01-01