Docker部署多種容器的詳細(xì)過(guò)程
關(guān)于docker,Windows上使用Powershell/CMD執(zhí)行指令,Linux系統(tǒng)直接使用終端執(zhí)行指令。
docker安裝MySQL
拉取MySQL
也可以跳過(guò)拉取步驟,直接run,這樣本地容器不存在的話,會(huì)自動(dòng)拉取最新/指定的版本。
# 默認(rèn)拉取最新版本 docker pull mysql # 拉取指定版本MySQL docker pull mysql:5.7
安裝MySQL
# 這里 \ 是用作換行,實(shí)際情況下如果放在一行去寫(xiě),就可以刪掉\ # CentOs上"\"會(huì)被識(shí)別為換行,Windows上建議把"\"刪掉 # [:自己想要的版本]如果是想要拉取最新的版本,可缺省 docker run --name mysql_docker \ --restart=always \ --privileged=true \ -p 3306:3306 \ -e TZ=Asia/Shanghai \ -e MYSQL_ROOT_PASSWORD=lcx108642 \ -e MYSQL_ROOT_HOST=% \ -v /usr/local/mysql/log:/var/log/mysql \ -v /usr/local/mysql/data:/var/lib/mysql \ -v /usr/local/mysql/conf:/etc/mysql/conf \ -v /etc/localtime:/etc/localtime:ro \ -d \ mysql [:自己想要的版本]
- docker run:這是 Docker 的命令,用于創(chuàng)建并啟動(dòng)一個(gè)新的容器。
- --name mysql_docker_lcx:為容器指定一個(gè)名稱(chēng),這里名稱(chēng)為 mysql_docker_lcx。
- --restart=always:設(shè)置容器的重啟策略為 always,意味著無(wú)論容器因?yàn)槭裁丛蛲顺?,Docker 都會(huì)自動(dòng)重啟它。
- --privileged=true:給予容器額外的權(quán)限,使其能夠訪問(wèn)宿主機(jī)的所有設(shè)備,并且有能力執(zhí)行一些需要高級(jí)權(quán)限的操作。
- -p 3306:3306:將容器內(nèi)部的 3306 端口映射到宿主機(jī)的 3306 端口,這樣可以通過(guò)宿主機(jī)的 3306 端口訪問(wèn) MySQL 服務(wù)。
- -e TZ=Asia/Shanghai \:設(shè)置mysql服務(wù)的時(shí)區(qū)。
- -e MYSQL_ROOT_PASSWORD=123456:設(shè)置環(huán)境變量,指定 MySQL 的 root 用戶(hù)密碼為 123456。
- -e MYSQL_ROOT_HOST=%:設(shè)置環(huán)境變量,指定 MySQL 的 root 用戶(hù)允許從任何主機(jī)連接。
- -v /usr/local/mysql/log:/var/log/mysql:掛載宿主機(jī)的 /usr/local/mysql/log 目錄到容器的 /var/log/mysql 目錄,用于持久化 MySQL 的日志文件。
- -v /usr/local/mysql/data:/var/lib/mysql:掛載宿主機(jī)的 /usr/local/mysql/data 目錄到容器的 /var/lib/mysql 目錄,用于持久化 MySQL 的數(shù)據(jù)文件。
- -v /usr/local/mysql/conf:/etc/mysql/conf:掛載宿主機(jī)的 /usr/local/mysql/conf 目錄到容器的 /etc/mysql/conf 目錄,用于持久化 MySQL 的配置文件。
- -v /etc/localtime:/etc/localtime:ro:掛載宿主機(jī)的 /etc/localtime 文件到容器的 /etc/localtime 文件,用于同步宿主機(jī)的時(shí)間設(shè)置,ro 表示以只讀方式掛載。
- -d :以分離模式(后臺(tái)模式)運(yùn)行容器
- mysql 是 Docker Hub 上的官方 MySQL 鏡像名稱(chēng),[:自己指定的版本]為可選項(xiàng),不包含這個(gè)部分默認(rèn)最新版本。
遠(yuǎn)程連接MySQL
主機(jī)為docker所部署在的虛擬機(jī)/服務(wù)器的IP地址,密碼是mysql服務(wù)的密碼,端口一般都是默認(rèn)3306。
Docker安裝RabbitMQ
執(zhí)行如下指令
docker run \ -e RABBITMQ_DEFAULT_USER=root \ -e RABITTMQ_DEFAULT_PASS=123456 \ -v mq-plugins:/plugins \ --name mq \ --hostname mq \ -p 15672:15672 \ -p 5672:5672 \ -d \ rabbitmq[:自己指定版本,缺省為最新]
示例:
docker run \ -e RABBITMQ_DEFAULT_USER=root \ -e RABITTMQ_DEFAULT_PASS=123456 \ -v mq-plugins:/plugins \ --name mq \ --hostname mq \ -p 15672:15672 \ -p 5672:5672 \ -d \ rabbitmq:3.8
-e RABBITMQ_DEFAULT_USER=root:設(shè)置環(huán)境變量 RABBITMQ_DEFAULT_USER,值為 root。這是 RabbitMQ 的默認(rèn)用戶(hù)名,用于登錄管理界面或連接到 RabbitMQ 服務(wù)器。
-e RABITTMQ_DEFAULT_PASS=123456:設(shè)置環(huán)境變量 RABITTMQ_DEFAULT_PASS,值為 123456。這是 RabbitMQ 的默認(rèn)密碼,用于登錄管理界面或連接到 RabbitMQ 服務(wù)器。注意這里有一個(gè)拼寫(xiě)錯(cuò)誤,應(yīng)該是 RABBITMQ_DEFAULT_PASS。
-v mq-plugins:/plugins:將 Docker 宿主機(jī)上的一個(gè)名為 mq-plugins 的卷(volume)掛載到容器的 /plugins 目錄。這樣可以將自定義的插件放置在這個(gè)卷中,RabbitMQ 容器啟動(dòng)時(shí)會(huì)加載這些插件。
–name mq:為容器指定一個(gè)名稱(chēng),這里指定為 mq。使用這個(gè)名稱(chēng)可以在后續(xù)的 Docker 命令中方便地引用這個(gè)容器。
–hostname mq:設(shè)置容器的主機(jī)名(hostname)為 mq。這個(gè)名稱(chēng)在容器內(nèi)部的網(wǎng)絡(luò)通信中會(huì)用到。
-p 15672:15672:將容器的 15672 端口映射到宿主機(jī)的 15672 端口。RabbitMQ 的管理界面默認(rèn)使用 15672 端口,這樣可以從宿主機(jī)訪問(wèn) RabbitMQ 的管理界面。
-p 5672:5672:將容器的 5672 端口映射到宿主機(jī)的 5672 端口。RabbitMQ 的 AMQP 通信默認(rèn)使用 5672 端口,這樣宿主機(jī)上的應(yīng)用程序可以通過(guò)這個(gè)端口與 RabbitMQ 通信。
-d:以“分離模式”(detached mode)運(yùn)行容器,即在后臺(tái)運(yùn)行容器,不會(huì)占用當(dāng)前的命令行界面。
rabbitmq[:自己指定版本,缺省為最新]:指定要運(yùn)行的 Docker 鏡像名稱(chēng),這里為 rabbitmq??梢栽诜嚼ㄌ?hào)中指定版本號(hào),如果不指定版本號(hào),則默認(rèn)使用最新版本的 RabbitMQ 鏡像。
開(kāi)啟web管理
# 終端輸入指令進(jìn)入容器,mq替換成自己RabbitMQ容器名稱(chēng) docker exec -it mq bash # 執(zhí)行指令啟用 rabbitmq-plugins enable rabbitmq_management # 查看當(dāng)前mq的管理賬號(hào)
打開(kāi)瀏覽器,登錄管理頁(yè)面
# xxx.xxx.xxx.xxx換成自己服務(wù)器或虛擬機(jī)的IP地址 xxx.xxx.xxx.xxx:15672 # 對(duì)應(yīng)下方Username和Password # RABBITMQ_DEFAULT_USER=root # RABITTMQ_DEFAULT_PASS=123456
可能存在的問(wèn)題
1.無(wú)法打開(kāi)管理頁(yè)面:
嘗試執(zhí)行下列操作
# 終端輸入指令進(jìn)入容器,mq替換成自己RabbitMQ容器名稱(chēng) docker exec -it mq bash # 執(zhí)行指令啟用管理 rabbitmq-plugins enable rabbitmq_management
2.無(wú)登錄用戶(hù)或顯示Not_Authorized
# 查看當(dāng)前mq的管理賬號(hào) rabbitmqctl list_users # 如果沒(méi)有則添加用戶(hù)username并設(shè)置密碼password rabbitmqctl add_user username password # 設(shè)置指定用戶(hù)(username替換自己的用戶(hù))為管理員 rabbitmqctl set_user_tags lcx_defender administrator rabbitmqctl set_permissions -p / lcx_defender ".*" ".*" ".*"
到此這篇關(guān)于Docker部署多種容器的文章就介紹到這了,更多相關(guān)Docker部署多種容器內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker image tag為什么出現(xiàn)none的原因及解決
當(dāng)我們使用docker加載新的鏡像時(shí),有時(shí)候會(huì)發(fā)現(xiàn)Repository和Tag名稱(chēng)都為none的情況,這通常是由于沒(méi)有指定正確的標(biāo)簽名稱(chēng)或者倉(cāng)庫(kù)名稱(chēng)所導(dǎo)致的,本文主要介紹了docker image tag為什么出現(xiàn)none的原因及解決,感興趣的可以了解一下2023-10-10Docker+Jupyter 部署算力服務(wù)的解決方案
Docker+Jupyter部署算力服務(wù)為AI學(xué)習(xí)框架提供了一種高效的發(fā)布和使用方案,本文以Windows環(huán)境為例,介紹了如何下載安裝Docker工具,以及如何根據(jù)AI框架所需的Python版本拉取合適的Jupyter鏡像,本文介紹了Docker+Jupyter 部署算力服務(wù)的相關(guān)知識(shí),一起看看吧2024-11-11詳解docker nginx 容器啟動(dòng)掛載到本地
這篇文章主要介紹了詳解docker nginx 容器啟動(dòng)掛載到本地,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-07-07docker使用dockercompose編排一個(gè)Hadoop集群方式
這篇文章主要介紹了docker使用dockercompose編排一個(gè)Hadoop集群方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01docker部署mysql8并設(shè)置可遠(yuǎn)程連接
本文主要介紹了docker部署mysql8并設(shè)置可遠(yuǎn)程連接,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-07-07skywalking agent 關(guān)聯(lián)docker鏡像的多種方法
Apache SkyWalking 提供了多種方式來(lái)部署和使用 SkyWalking Agent,包括在 Docker 容器中運(yùn)行的應(yīng)用,本文給大家分享幾種方式將 SkyWalking Agent 集成到你的 Docker 應(yīng)用中,感興趣的朋友一起看看吧2025-04-04docker-compose啟動(dòng)mongo容器的使用
這篇文章主要介紹了docker-compose啟動(dòng)mongo容器的使用,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-01-01pycharm與ssh遠(yuǎn)程訪問(wèn)服務(wù)器docker的詳細(xì)教程
這篇文章主要介紹了pycharm與ssh遠(yuǎn)程訪問(wèn)服務(wù)器docker,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-10-10