您好,登錄后才能下訂單哦!
本篇內容介紹了“docker安裝mysql、redis鏡像的方法是什么”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
docker鏡像商店:官方鏡像商店
下載鏡像:
可直接默認下載最新鏡像,也可以指定版本下載【注意,版本差異不大的軟件可以直接下載最新版本,差異大的,例如java,mysql等,最好指定熟悉的版本進行下載】
docker pull redis
啟動鏡像:
docker run --name=redis -d --restart=always -p 6379:6379 redis
--name
:別名
-d
:后臺運行,鏡像不會隨窗口關閉而關閉
--restart=always
:隨docker啟動而自啟 可以進行后配置:docker update --restart=always [容器名稱|id]
-p
:6379[主機端口]:6379[映射端口],如果有版本號,應該帶上版本號redis:6.2.6
掛載外部文件啟動:
提前創建好文件夾和文件,redis.conf如果沒有特別的配置,可以參考(測試環境,生產環境換成本地,關閉密碼即可):
#redis使用自定義配置文件啟動 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 #最后這一句代表自啟動方式,redis啟動默認不加載此處配置 redis-server /etc/redis/redis.conf
鏡像參考redis直接下載對應版本即可。
-v:配置掛載,冒號左邊為容器內部想要掛載出去的配置路徑,右邊為掛載的實際路徑
例如:mysql,掛載日志,數據,配置等信息到外部
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
最后說一下文件外部掛載的優缺點:
優點:修改配置方便,不用每次都進入容器內部
缺點:外部掛載方式鏡像將不可以打包傳遞
卸載之前的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 //設置存儲庫
設置倉庫地址,默認國外,也可以設置阿里云的
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
啟動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
systemctl stop docker //關閉docker systemctl restart docker //重啟docker systemctl status docker //查看docker狀態 systemctl enable docker //設置docker開機自啟動 docker images //查看自己服務器的鏡像列表 docker search 鏡像名 //搜索指定鏡像 docker search --filter=STARS=9000 mysql //搜索 STARS >9000的 mysql 鏡像 docker pull 鏡像名 //拉取docker倉庫里的鏡像 docker pull 鏡像名:tag //拉取docker倉庫里指定版本的鏡像,具體版本號需要到鏡像官網查看(https://hub.docker.com/search?type=image) docker pull mysql 5.7.30 //拉取5.7.30的mysql docker run 鏡像名 //運行鏡像 docker run 鏡像名:Tag //運行指定版本的鏡像 docker rmi -f 鏡像名/鏡像ID //刪除一個鏡像,鏡像沒有被別的鏡像使用才可以刪除 docker rmi -f 鏡像名/鏡像ID 鏡像名/鏡像ID 鏡像名/鏡像ID //刪除多個鏡像,空格隔開 docker rmi -f $(docker images -aq) //刪除全部鏡像 -a 意思為顯示全部, -q 意思為只顯示ID docker image rm 鏡像名稱/鏡像ID //強制刪除鏡像 docker save 鏡像名/鏡像ID -o 鏡像保存在哪個位置與名字 docker save tomcat -o /myimg.tar //保存Tomcat到myimg.tar里 docker commit -m="提交信息" -a="作者信息" 容器名/容器ID 提交后的鏡像名:Tag docker ps //查看正在運行容器列表 docker ps -a //查看所有容器 -----包含正在運行 和已停止的 docker exec -it 容器名 路徑//進入容器 里的路徑 #刪除一個容器 docker rm -f 容器名/容器ID #刪除多個容器 空格隔開要刪除的容器名或容器ID docker rm -f 容器名/容器ID 容器名/容器ID 容器名/容器ID #刪除全部容器 docker rm -f $(docker ps -aq) docker start 容器ID/容器名 //啟動容器 docker stop 容器ID/容器名 //停止容器 docker restart 容器ID/容器名 //重啟容器 docker kill 容器ID/容器名 //kill 容器 docker cp 容器ID/名稱: 容器內路徑 容器外路徑 //容器內拷文件到外面 docker cp 容器外路徑 容器ID/名稱: 容器內路徑 //容器外拷文件到容器內 docker run -it -d --name 容器別名 鏡像名 --restart=always //容器隨著docker啟動而啟動 docker update --restart=always 容器Id 或者 容器名 //修改容器啟動配置(設置自啟動) docker rename 容器ID/容器名 新容器名 //更改容器名 docker logs container-id //查看容器日志 sudo docker info | grep "Docker Root Dir" //查看docker工作目錄 du -hs /var/lib/docker/ //查看docker磁盤占用總體情況 docker system df //查看Docker的磁盤使用具體情況 docker rm `docker ps -a | grep Exited | awk '{print $1}'` //# 刪除異常停止的容器 docker rmi -f `docker images | grep '<none>' | awk '{print $3}'` //刪除名稱或標簽為none的鏡像
sudo docker pull mysql:5.7.39 //拉取mysql鏡像到本地 # --name指定容器名字 -v目錄掛載 -p指定端口映射(宿主機端口:容器端口) -e設置mysql參數 -d后臺運行 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 容器名稱|容器id bin/bash //進入容器里 exit //退出容器 -v /usr/local/mysql/mysql-files:/var/lib/mysql-files/
驗證:用連接工具測試能不能連接成功,或window下cmd測試
ssh -v -h 3306 IP
docker pull redis:6.0.10 //拉取鏡像
創建配置文件,docker-Redis里面默認沒有配置文件,在宿主機創建并掛載到容器里
mkdir /home/redis cd /home/redis vi redis.conf
添加如下內容
bind 0.0.0.0 開啟遠程權限 appendonly yes 開啟aof持久化
啟動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 //進入Redis客戶端
拉取鏡像
docker pull nacos/nacos-server
查看鏡像
docker images
啟動容器
docker run --env MODE=standalone --name mynacos -d -p 8848:8848 docker.io/nacos/nacos-server
查看啟動日志
docker logs -f mynacos
日志中顯示nacos服務地址為:
http://172.18.0.2:8848/nacos/index.html
默認賬號密碼都是nacos
進入nacos容器查看配置
docker ps docker exec -it 容器名或ID /bin/bash ls cd conf/ ls
進入
docker exec -it nacos /bin/bash
進入啟動腳本
cd /home/nacos/bin vim docker-startup.sh
“docker安裝mysql、redis鏡像的方法是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。