windows轉mac-開發環境搭建(五):mac上用docker安裝並運行mysql




  因為有太多的人選擇直接在msyql官網下載社區版的mysql軟件,所以就不那樣寫教程了,在選擇的時候,我也盡量往可拓展性,輕性的方面選,先介紹下docker是什么:

  Docker 是一個開源的應用容器引擎,基於 Go 語言 並遵從Apache2.0協議開源。

  Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然后發布到任何流行的 Linux 機器上,也可以實現虛擬化。

  容器是完全使用沙箱機制,相互之間不會有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。

 
        

Docker的應用場景

 
        
  • Web 應用的自動化打包和發布。

  • 自動化測試和持續集成、發布。

  • 在服務型環境中部署和調整數據庫或其他的后台應用。

  • 從頭編譯或者擴展現有的OpenShift或Cloud Foundry平台來搭建自己的PaaS環境。

Docker 的優點

  • 1、簡化程序:
    Docker 讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然后發布到任何流行的 Linux 機器上,便可以實現虛擬化。Docker改變了虛擬化的方式,使開發者可以直接將自己的成果放入Docker中進行管理。方便快捷已經是 Docker的最大優勢,過去需要用數天乃至數周的任務,在Docker容器的處理下,只需要數秒就能完成。

  • 2、避免選擇恐懼症:
    如果你有選擇恐懼症,還是資深患者。Docker 幫你 打包你的糾結!比如 Docker 鏡像;Docker 鏡像中包含了運行環境和配置,所以 Docker 可以簡化部署多種應用實例工作。比如 Web 應用、后台應用、數據庫應用、大數據應用比如 Hadoop 集群、消息隊列等等都可以打包成一個鏡像部署。

  • 3、節省開支:
    一方面,雲計算時代到來,使開發者不必為了追求效果而配置高額的硬件,Docker 改變了高性能必然高價格的思維定勢。Docker 與雲的結合,讓雲空間得到更充分的利用。不僅解決了硬件管理的問題,也改變了虛擬化的方式。



1、下載安裝docker

如果需要手動下載,請點擊以下鏈接下載 Stable 或 Edge 版本的 Docker for Mac。

 
        

如同 macOS 其它軟件一樣,安裝也非常簡單,雙擊下載的 .dmg 文件,然后將鯨魚圖標拖拽到 Application 文件夾即可。

 
        

從應用中找到 Docker 圖標並點擊運行。可能會詢問 macOS 的登陸密碼,輸入即可。

 
        

點擊頂部狀態欄中的鯨魚圖標會彈出操作菜單。

 
        

 
        

 
        

第一次點擊圖標,可能會看到這個安裝成功的界面,點擊 "Got it!" 可以關閉這個窗口。

 
        

 
        

啟動終端后,通過命令可以檢查安裝后的 Docker 版本。

 
        
$ docker --version

 Docker version 17.12.0-ce, build c97c6d6


之后可以選擇采用鏡像加速,也可以不選擇,我這里沒有選擇


2、安裝並運行mysql
 這里選擇采用終端方法:docker pull mysql
  查找Docker Hub上的mysql鏡像

這里我們拉取官方的鏡像,標簽為5.7.19

runoob@runoob:~/mysql$ docker pull mysql:5.7.19

等待下載完成后,我們就可以在本地鏡像列表里查到REPOSITORY為mysql,標簽為5.7.19的鏡像。

MySQL(5.7.19)的默認配置文件是 /etc/mysql/my.cnf 文件。如果想要自定義配置,建議向 /etc/mysql/conf.d 目錄中創建 .cnf 文件。新建的文件可以任意起名,只要保證后綴名是 cnf 即可。新建的文件中的配置項可以覆蓋 /etc/mysql/my.cnf 中的配置項。

具體操作:

首先需要創建將要映射到容器中的目錄以及.cnf文件,然后再創建容器

# pwd /opt # mkdir -p docker_v/mysql/conf # cd docker_v/mysql/conf # touch my.cnf # docker run -p 3306:3306 --name mysql -v /opt/docker_v/mysql/conf:/etc/mysql/conf.d -e MYSQL_ROOT_PASSWORD=123456 -d imageID 4ec4f56455ea2d6d7251a05b7f308e314051fdad2c26bf3d0f27a9b0c0a71414

命令說明:
  • -p 3306:3306:將容器的3306端口映射到主機的3306端口
  • -v /opt/docker_v/mysql/conf:/etc/mysql/conf.d:將主機/opt/docker_v/mysql/conf目錄掛載到容器的/etc/mysql/conf.d
  • -e MYSQL_ROOT_PASSWORD=123456:初始化root用戶的密碼
  • -d: 后台運行容器,並返回容器ID
  • imageID: mysql鏡像ID

 

查看容器運行情況

# docker ps

CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                    NAMES

7442e17ffdb0        3e3878acd190        "docker-entrypoint.s…"   2 days ago          Up 2 days           0.0.0.0:3306->3306/tcp   mysql

 

 

 

3、安裝mysql客戶端

個人覺得Navicat-Premium最好用,分享在百度雲

鏈接:https://pan.baidu.com/s/1c3ra7hY  密碼:8cfe

工具比較簡單,就不做使用介紹了。

 

參考網址:http://www.runoob.com/docker/docker-tutorial.html

 

 
 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM