基於docker的mysql部署

2021-02-25 開發者微實踐

簡介

隨著Kubernetes(k8s)在企業中的普及,越來越多的應用、組件需要docker化,甚至一切皆可docker。資料庫mysql,相信對於研發人員來說都不陌生,特別是後臺應用,mysql更是基石,因此本文將為大家簡單介紹mysql的容器化安裝。

 

環境介紹:

macOS10.14.4

docker desktop 3.1.0

mysql 8.0

 

步驟

 

docker環境的安裝這裡就不介紹了,百度一下你就知道。這裡假設你已經安裝的docker環境。下面我們就開始:

 

從鏡像倉庫查詢mysql鏡像

 

 

 

 

 

從鏡像倉庫拉取鏡像

這裡獲取的是mysql8.0版本,當然用戶也可以通過以下命令獲取最新的版本。

 

下載完之後我們可以通過以下命令查看mysql鏡像

 

 

 

創建容器,啟動mysql

docker run -p 3307:3306 --name mysql8.0 \-e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0;

執行完命令之後會返回一個容器id

 

 

 

創建完成之後我們通過以下命令來查看容器狀態,可以看到容器已經啟動。

 

 

 

這個時候如果我們直接使用navicate連接數據會有如下錯誤:

 

 

由於Mysql5.6以上的版本修改了Password算法,這裡需要更新密碼算法,便於使用Navicat連接,因此我們需要進入容器修改mysql配置。

 

 

進入容器
docker exec -it mysql8.0 bash

連接mysql

 

更改mysql配置
ALTER user 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456' PASSWORD EXPIRE NEVER;FLUSH PRIVILEGES;

 

執行完上述步驟,再次嘗試連接。

 

至此簡易版的mysql容器化部署就完成了。

 

思考

 

目前我們構建的mysql可以在本地環境開發使用,但是還不能用戶測試或者生產,因為對於後臺應用資料庫至關重要,存儲的數據一旦丟失,將是致命的。因此我們需要考慮以下幾個問題:

 

在後續的章節中我們會逐個解決上述問題,敬請期待。

相關焦點

  • Docker MySQL 使用
    DockerDocker[1]是一個開源的應用容器引擎,基於 Go 語言 並遵從 Apache2.0 協議開源。Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後發布到任何流行的 Linux 機器上,也可以實現虛擬化。
  • Docker部署Django由淺入深系列(下): 八步部署Django+Uwsgi+Nginx+MySQL+Redis
    /compose/redis/redis.conf:/etc/redis/redis.conf # 掛載redis配置文件    ports:       - "6379:6379"     restart: always # always表容器運行發生錯誤時一直重啟   db:    image: mysql:5.7    environment
  • Docker-compose 八步部署Django + Uwsgi + Nginx + MySQL + Redis升級篇
    Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的鏡像中,然後發布到任何流行的 Linux機器上。使用 docker-compose 後不再需要使用 shell 腳本來逐一創建和啟動容器,還可以通過 docker-compose.yml 文件構建和管理複雜多容器組合。Docker-compose的下載和安裝很簡單,網上有很多教程,我就不再詳述了。這裡只記錄下ubuntu系統下docker-compose的安裝過程。
  • Docker 使用 MySQL
    在 Docker 下部署 MySQL        在 Docker 下部署 MySQL 是很方便的,通過幾條命令就可以輕輕鬆鬆的下載鏡像並完成安裝部署。:latestdocker.io/library/mysql:latest         上面的命令是拉取最新的MySQL鏡像。
  • docker-3:mac使用docker本地部署多個mysqlDB
    很多時候需要在mysql上進行實驗,在本地使用docker部署是一個很好的方式,故有此文:mac本地使用docker快速部署多個mysqlDB實例
  • 使用Docker部署SpringBoot+Vue博客系統
    而且這個項目是前後端分離的,博客前臺頁面還為了SEO用了Nuxt框架,假如是第一次部署或者要伺服器遷移的話,麻煩的要死啊,部署一次的話要以下步驟安裝mysql,修改相關配置文件,設置編碼時區等,然後重啟打包vue項目,npm install,npm run build等啟動nuxt項目,npm install,npm run start等如果能夠順利的完成這七個步驟算是幸運兒了,假如中間哪個步驟報錯出了問題
  • 運維(15) docker-compose部署Sentinel持久化配置到MySQL
    一、前言本文將修改sentinel-dashboard源碼,集成mybatis-plus,持久化配置到mysql,然後製作docker版的sentinel鏡像,方便後期快速部署sentinel-mysql。
  • 使用Docker Compose部署SpringBoot應用
    使用Compose你可以用YAML文件來配置你的應用服務,然後使用一個命令,你就可以部署你配置的所有服務了。--version使用Docker Compose的步驟使用Dockerfile定義應用程式環境,一般需要修改初始鏡像行為時才需要使用;使用docker-compose.yml定義需要部署的應用程式服務,以便執行腳本一次性部署;使用docker-compose up命令將所有應用服務一次性部署起來。dock
  • Docker的介紹與安裝(基於centos)
    協議開源,目前主要運行於 Linux 和 Windows系統之上,是用於創建、管理和編排容器的開源應用容器引擎。它可以讓開發者打包應用程式以及需要的依賴包環境到一個輕量級、可移植的容器中,然後發布到任何流行的 Linux 機器上,也可以實現虛擬化。容器是完全使用沙箱機制,相互之間不會有任何接口(類似 安卓 的 app),更重要的是容器性能開銷極低。
  • 基於Docker安裝、部署、破解Confluence 6.6圖文教程
    本文講解如何安裝、部署、破解Confluence,部署的環境是Docker。WARNING最近公司想將Confluence遷到Docker環境,同時順序想升級一下。雖然公司用的是收費版,不過我順便也研究了下怎麼破解。以下是步驟,所用版本是 Confluence6.6 。
  • 基於 Docker 搭建 MySQL 主從複製
    搭建環境Centos 7.2 64位MySQL 5.7.13Docker 1.13.1接下來,我們將會在一臺伺服器上安裝docker,並使用docker運行三個MySQL容器,分別為一主兩從。安裝docker執行命令
  • Docker 系列教程:輕鬆在 Docker 容器中運行 MySQL 圖文指南
    :latestdocker.io/library/mysql:latest docker pull mysql:latest如果您需要特定版本的 MySQL,請替換 latest 為版本號。默認情況下,MySQL 將其數據文件存儲在該 /var/lib/mysql 目錄中。因此,在部署之前,您需要設置一個 Docker Volume來持久化您的資料庫。否則,當容器重新啟動時,您的數據將丟失。讓我們創建一個新Volume並將其命名為mysql-data。這將用於存儲您的所有資料庫信息。
  • 基於Docker的CI/CD流水線實踐
    一方面由於企業內部的歷史環境以及組織結構問題,另外一方面因為業界並沒有一套標準的開源工具集可以借鑑(關於幾家基於Docker創業的服務提供商暫時除外)。一、自助式Git管理工具Gogs的部署安裝Gogs部署Gogs部署在10.0.0.1主機上,映射到宿主機埠為32770$ docker run -itd -p 32770:3000 -v /export/CI-CD/mygit:/data --name jdjr-gogs gogs
  • 技術譯文 | 使用 Docker 安裝 MySQL
    不適用於生產部署。以下內容假定已安裝 Docker。首先,您應該知道只有兩個「官方」 MySQL Docker 存儲庫。其中之一由 Docker 團隊維護,可通過一個簡單的 docker 命令 mysql:latest 運行起來。
  • Docker 部署Go Web應用
    隨著Go的逐漸流行,基於性能、高效及穩定部署,越來越多的企業開始將其應用框架移植至Go平臺。
  • 手把手教你Docker+nginx部署Springboot+vue前後端分離項目
    線上演示:http://www.markerhub.com:8084/blogs配套部署視頻工具上線前準備這裡我們同步演示怎麼部署到win環境和linux(centos7)系統中,前端伺服器採用nginx部署,並使用docker統一管理前後端伺服器。
  • docker安裝mysql
    :5.7.30docker.io/library/mysql:5.7.30 docker images REPOSITORY TAG IMAGE ID CREATED SIZEfeisky/app mem-leak-fix 88b9a8aaeffa 11 months
  • 【mycat系列一】基於 Docker 搭建 MySQL 主從複製的詳細教程
    "]}二、安裝mysql1、查詢鏡像docker search mysql2、下載mysql 5.7.13鏡像docker pull mysql:5.7.133、查看下載的鏡像docker images
  • docker|docker安裝mysql資料庫
    安裝資料庫說明,本文DEMO示例僅適用於本機開發環境,不適用線上生產環境使用命令 docker ps 如有以下輸出,則是已安裝docker如沒有安裝,可參考docker官網,windows/mac 直接下載安裝包安裝就可以了下載地址: https://www.docker.com/products/docker-desktop安裝Mysql的命令
  • docker-compose 一鍵部署分布式配置中心Apollo
    簡介說起分布式肯定要想到分布式配置中心、分布式日誌、分布式鏈路追蹤等在分布式部署中業務往往有很多配置比如