docker-3:mac使用docker本地部署多個mysqlDB

2021-02-19 千裡行走

很多時候需要在mysql上進行實驗,在本地使用docker部署是一個很好的方式,故有此文:mac本地使用docker快速部署多個mysqlDB實例。

下載最新image:

docker pull mysql

本地部署多個mysql實例需要在host(容器外部)指定多個my.conf配置文件,以及多個目錄用於存放不同DB的數據。前者保證不同DB的埠不衝突,後者保證容器重啟後數據依然存在。

先在宿主機創建兩個DB的數據存儲目錄,用於本地持久化:

/Users/hepengyuan/Documents/docker-local/docker-local-mysql-0/data

/Users/hepengyuan/Documents/docker-local/docker-local-mysql-1/data

執行容器創建命令:

docker run --name mysql-0 -v /Users/hepengyuan/Documents/docker-local/docker-local-mysql-0/data:/var/lib/mysql -p 3307:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql:latest

docker run --name mysql-1 -v /Users/hepengyuan/Documents/docker-local/docker-local-mysql-1/data:/var/lib/mysql -p 3308:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql:latest

-p: 指定埠映射,格式為:主機(宿主)埠:容器埠

--volume , -v: 綁定一個卷,格式為:主機(宿主)目錄:容器目錄

使用命令查看:docker ps

宿主機安裝mysqlclient:

brew install mysql-client

配置環境變量:/etc/profile

export PATH="/usr/local/opt/mysql-client/bin:$PATH"

export LDFLAGS="-L/usr/local/opt/mysql-client/lib"

export CPPFLAGS="-I/usr/local/opt/mysql-client/include"

讓配置生效:

source /etc/profile

分別登入兩個mysql資料庫:

mysql -uroot -p -P3307 -h 127.0.0.1

mysql -uroot -p -P3308 -h 127.0.0.1

參考文章:

1.官方參考

https://registry.hub.docker.com/_/mysql

相關焦點

  • docker-4:mac使用docker部署開發用rocketmq
    為了開發方便,有時需要在本地部署rocketmq,使用docker是一個高性價比的方式,故有此文。
  • docker-7:mac使用mac-docker-connector打通宿主機與docker網絡
    本地開發會用docker部署諸如rocketmq的中間件,但是有一個問題,rocketmq-broker註冊到namesrv上的ip是docker-ip
  • Ubuntu16.04使用docker安裝MySQL(詳細)
    後來,師兄告訴我可以使用docker安裝mysq,方法l特別簡單。自己嘗試以後,成功了,非常感謝師兄~自己以前也聽說過docker,但是從未使用過,於是從頭開始通過Docker 教程|菜鳥教程學習了docker的一些基礎知識,並且很快就能上手使用docker安裝mysql了。自己在安裝的過中還是與教程有不同的地方,希望給大家做一個參考。
  • Docker基本概念及部署使用
    以下是Docker容器的總覽,包括基本概念、容器管理、鏡像和倉庫管理、資源管理、容器編排管理、容器監控以及容器使用,本文簡要介紹Docker基本概念、安裝部署以及容器的使用。1、Docker基本概念1.1 容器與虛擬機容器是一種輕量級、可移植、自包含的軟體打包技術,使應用程式幾乎可以在任何地方以相同的方式運行。
  • 使用 Docker 搭建 Laravel 本地環境
    本文就介紹如何使用 docker 搭建 Laravel 本地環境。安裝 docker首先安裝 docker。克隆 laradocklaradock 官方文檔:http://laradock.io/laradock github:https://github.com/laradock/laradocklaradock 是一個包含全功能用於 docker 的 PHP 運行環境,使用 docker-compose 方式部署。
  • Docker的安裝與使用
    容器是完全使用沙箱機制,相互之間不會有任何接口,更重要的是容器性能開銷極低。為什麼要用docker?在沒有用docker之前,我們需要在本地,測試,線上部署相同的環境,相同的軟體每個環境都要安裝一次,並且每來一個新同事,相同的環境有要重新安裝一遍,很麻煩且過於重複。
  • Docker 容器化部署技術
    Docker容器技術概述Docker重新定義了程序開發測試、交付和部署的過程。隨著雲計算技術的深入發展,使用虛擬伺服器代替傳統的物理伺服器越來越常見。伺服器虛擬化的思想是在性能強勁的伺服器上運行多個虛擬機,每個虛擬機運行獨立的作業系統與相應的軟體。通過虛擬機管理器可以隱藏真實機器的物理配置。
  • 使用Docker部署Redis集群
    ,也可以借鑑用於部署其他Docker項目。概覽這個代碼庫將使用Docker Swarm,Docker Compose和Supervisor部署一套6個節點的Reids集群,以實現高可用。Redis實例監控埠為6379-6384,其中有3個master節點和3個複製節點。
  • docker + webhook 從零實現前端自動化部署
    git 倉庫實現自動部署本著不設邊界的「字節範」,本文將從零開始,實現前端自動化部署流程,打開項目部署的「黑盒」涉及技術棧如下:文章中的命令大部分為 linux 命令,本地是 windows 系統的讀者請使用 git bash
  • docker安裝部署
    docker就是類似的理念,雲計算就好比大貨輪,docker就是貨櫃。在伺服器負載方面,如果你單獨開一個虛擬機,那麼虛擬機會佔用空閒內存的,docker部署的話,這些內存就會利用起來。Docker是:「一次封裝,到處運行」,因為docker解決了應用環境的問題,安裝了docker的平臺就能跑「docker包」,這樣就解決了「開發環境能跑,一上線就崩」的尷尬。
  • Mac下使用Docker安裝Oracle
    最近需要用到oracle(Oracle 實時採集),但是本地又是Mac系統,所以想起來在本地使用Docker安裝Oracle。
  • 使用Docker Compose部署SpringBoot應用
    Docker Compose是一個用於定義和運行多個dock
  • Docker MySQL 使用
    容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。不管是在Linux還是windows上面都可以使用docker,windows用戶可以下載 Docker Desktop[2],像軟體一樣開啟docker服務。
  • Docker搭建部署Node項目
    其中在centos上搭建環境和部署都挺費周折,部署測試伺服器,接著上線的時候又部署生產環境伺服器。這中間就有很多既無聊又費精力,吃力不討好的"體力活"。所以就開始思考怎麼自動化這部分搭建部署的工作,也就引出了Docker。什麼是DockerDocker 是比虛擬機還要輕量級的虛擬化技術,它虛擬化的實體就叫做容器。
  • Docker命令大全及Dockerfile詳解(附示例)
    使用阿里雲設置Docker鏡像加速,注意下面連結請使用阿里雲給自己的URL sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-'EOF' { "registry-mirrors": ["https://ua3456xxx.mirror.aliyuncs.com"] } EOF sudo systemctl
  • 【Docker】系列教程01-使用Docker鏡像
    3、查看鏡像1)使用images 命令列出本地鏡像列表3)使用history命令查看鏡像歷史docker pull 下載鏡像時也我們發現了鏡像文件由多個層組成,可以使用history子命令列出各層的創建信息。例如,查看Ubuntu:18.04鏡像的創建過程,命令如下:
  • Docker(二)-在Docker中部署Nginx實現負載均衡【完整教程】
    從鏡像列表中選取其中一個,拉取到本地-nginx: 鏡像名稱,如果需要特定版本可使用<imageName>:<tag>進行拉取3.docker stop nginx8080docker rm nginx8080--nginx8080: Nginx服務容器名稱8.將本地文件映射到容器中,再部署Nginx服務。把配置文件放在本地,這樣就可以方便我們修改。
  • 新特性初探:Docker for Mac喜迎Kuberntes支持能力
    Docker Machine是進化的第二步,採用boot2docker鏡像在本地或者遠程環境部署虛機,並提供可寫磁碟空間,也是朝易用性邁出的一大步。一旦基於SSL認證的VM生成,Docker客戶端就可以通過TCP/IP工具訪問它,可以同時支持多個Docker版本構成的集群。
  • Docker實戰:docker部署nginx項目詳解
    這裡我直接使用命令:docker pull nginx,可以從Docker Hub下載最新版本的nginx。這裡我們運行一個展示vue項目的nginx服務並指定訪問ip為8001,其指令為:docker run --name nginx-vue -p 8001:80 -d nginx。-p表示埠映射將本地的 8001 埠映射到容器內部的 80 埠,-d則是指定該容器一直在後臺運行。
  • 使用Docker部署SpringBoot+Vue博客系統
    從完成實現到現在,也斷斷續續的根據實際的使用情況進行更新。只不過每次上線部署的時候都覺得有些麻煩,因為我的伺服器內存太小,每次即使只更新了前臺部分(fame-front)的代碼,在執行npm build的時候都還必須把我的後端服務(fame-server)的進程關掉,不然會造成伺服器卡死(慘啊)。