當前位置:首頁 » 編程語言 » sql怎麼放到docker
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql怎麼放到docker

發布時間: 2022-06-05 22:17:08

Ⅰ docker容器內怎麼連接外部的mysql

1 docker pull mysql
2 docker run -v /data/var/mysql/:/var/lib/mysql -e YSQL_ROOT_PASSWORD=kS4pJUIb mysql
3 docker stop [CONTAINER ID]
4 docker run -it -v /data/var/mysql/:/var/lib/mysql mysql /bin/bash
5 mysqld_safe&
6 grant all privileges on *.* to 'wuxiao'@'%' identified by 'password';
7 docker cp [CONTAINER ID]:/etc/mysql/my.cnf /data/local/my.cnf
8 docker stop [CONTAINER ID]
9 docker run -d -p 3306:3306 -v /data/var/mysql/:/var/lib/mysql -v /data/local/my.cnf:/etc/mysql/my.cnf mysql
10 add [CMD] to /etc/rc.local
11 OK!

Ⅱ 老鐵們 怎麼把SQL server放到docker里運行

步驟:下載 Boot2Docker 在我們開始安裝之前,我們需要 Boot2Docker 的可執行文件。可以從 它的 Github 下載最新版本的 Boot2Docker。

Ⅲ 如何實現 Docker 與分布式資料庫結合

那麼Docker是什麼呢?
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何介面。幾乎沒有性能開銷,可以很容易地在機器和數據中心中運行。最重要的是,他們不依賴於任何語言、框架包括系統。
這是對Docker的一個官方解釋,簡單說,有兩個部分:
1) 對於應用程序,曾經我們需要為了不同的系統專門的調整應用程序的代碼或者是構造相應的依賴包驅動等等,大大增加了開發量以及開發的難度。現在,Docker向不同的應用程序,提供了一個統一的環境。
2) 對於伺服器,為了支持不同版本的應用,曾經可能需要在物理機上安裝多個版本或者不同的GuestOS或者說虛擬機。這就大大佔用了物理機的性能,影響了最終程序的表現,提高了資源的成本。

使用Docker容器的方式,對於應用程序,不需要開發多種多樣的版本或者是針對OS每個版本的升級再進行代碼方面的調整,實現了廣泛的兼容性和開發的最簡性。同時對於物理機,部署的環境「瘦身」也節約了更多的資源,將更多的資源用於提高應用程序本身的性能。
CoreOS是Docker的不二之選?
之前大概介紹了Docker,那麼伺服器上面還是需要最基本的應操作系統才能支撐Docker容器,那麼這么多中的Linux內核OS究竟哪一個好呢?筆者和很多Docker技術專家的的觀點就是Core OS。
CoreOS是一個基於Linux 內核的輕量級操作系統,為了計算機集群的基礎設施建設而生,專注於自動化,輕松部署,安全,可靠,規模化。作為一個操作系統,CoreOS 提供了在應用容器內部署應用所需要的基礎功能環境以及一系列用於服務發現和配置共享的內建工具。
簡單說,CoreOS去掉了大量的非必要的功能,只保留了Server端需要的最基本功能,真正意義做到了「輕量化」。
此外,CoreOS還做到了:整體系統升級/回滾方案;容器化所有非系統應用、無包管理器;集群化調度器Fleet;分布式高可靠的KV存儲系統ETCD
這些特性都讓它成為Docker生態的首選操作系統。不過最新的消息是,CoreOS不滿足於做Docker生態下的一環,它正在推出自己的容器AppC計劃,想對Docker來一招「釜底抽薪」。當然,現階段並沒有出現完全的兩者 「分手」,所以對於普通使用者,並沒有太大影響。

Docker+分布式資料庫
資料庫是每一個軟體項目必須的一個部分,作為這樣的一類底層基礎軟體,兼容性、通用性、易用度都是需要考慮的重點。非常遺憾的是,現在的操作系統以及資料庫都沒有完全的實現完全的通用。特別對於NoSQL資料庫這樣的分布式系統,需要部署在多台物理機時,對於通用性要求就更高了。
目前,像SequoiaDB已經實現了自動化的安裝,大大提升了部署的效率,但是考慮到部署之後的配置以及不同環境下的調試問題,仍然可能會耗費不小的人力物力。所以基於剛剛提到的Docker的優點,作為一個通用的基礎軟體,NoSQL資料庫的Docker化就成了必須。

一個簡單的例子,你可以用docker把資料庫的數據與資料庫程序本身分離開:用一個container A作為數據存儲,然後另一個container B運行資料庫。當你想升級資料庫時,用新的container C替換掉container B即可。
Docker+分布式資料庫的結合,帶來諸多的好處:
1) 部署簡單,使用鏡像部署非常簡單,特別是對集群環境,使用Docker鏡像的部署還可以再資料庫上提前集成Hadoop、Spark等架構,真正實現「一步到位」。
2) 方便應用的更新,應用的更新只需要考慮製作一個新的鏡像就可以與容器適配,無需重新再調整與底層的配置。數據和程序的分離,這樣升級替換等等都不會影響到數據。
3) 操作簡單方便,除了底層免除了復雜的與環境進行配置的工作,操作也更加方便,配置好的Docker鏡像在部署時候只需要一條指令就可以了。
4) 開發、應用環境一致,Docker讓資料庫能做到 開發---測試---實施應用 三個階段的環境是完全一致的。降低開發到應用過程中的工作量,開發出來就能保證實際應用環境上能同樣的運行。
5) 系統穩定,因為Docker的隔離作用,將應用與OS獨立開,這樣能更好保證整個系統的穩定性。
6) 節省系統資源,系統只需要運行一個統一的環境就可以,不需要佔用太多性能去支持運行環境本身,能將更多的系統資源投入到應用當中。
有了這些特性, Docker+資料庫,將成為一個資料庫發展的新方向,Docker這樣的通用性和簡單操作解決方案,大大提高了資料庫使用的效率,幫助使用者節約了大量成本。
Docker是如今技術圈的新潮流,開發人員是最樂見於Docker的這種應用部署模式,因為應用的生命周期起始於開發人員的開發系統,經過開發,測試,壓力測試,等過程,最終應用發布到生產系統,並可能在不同的生產系統中遷移。應用開發人員對此都會有切身的體會,任何微小的運行環境的錯誤都會導致應用出現問題,尤其在講究快速敏捷的今天,應用模塊,新的代碼,新的配置,被快速的加入應用的環境中,可能還沒等寫入到文檔,新特性就已經被推送到生產上了。作為一個新的技術,筆者也希望更多的產品能加強與Docker的結合,幫助產品更好的使用。
博文出處:http://segmentfault.com/a/1190000002930030

Ⅳ 啟動mysql的docker鏡像,怎麼自動執行初始化sql腳本

1、使用systemctl 啟 systemctl start mysqld
2、使用腳本啟 /etc/inint.d/mysqld start
3、使用safe_mysqld或mysqld --user=mysql

Ⅳ MySQL 到底能不能放到 Docker 里跑

http://www.sohu.com/a/161454051_467759