MySQL在Docker環境下運行基礎

2020-09-09 數據和雲智能

1. docker介紹

1.1. docker是一種linux容器技術。容器有效的將由單個作業系統掛管理的資源劃分到孤立的組中,以便更好的在組之間平衡有衝突的資源使用需求。每個容器內運行一個應用,不同的容器之間相互隔離,容器之間也可以建立通信機制。容器的創建和停止都十分快速,資源需求遠遠低於虛擬機

優點:

  • 能高效地構建應用。
  • 能快速的交付和部署
  • 高效的資源利用
  • 輕鬆的遷移擴展
  • 簡單的更新管理

1.2. 容器的發展史:

1.3. Docker容器的運行方式:(三大核心組件)

  • 鏡像(images):類似虛擬機鏡像
  • 倉庫(Repository):集中存放鏡像的地方。每個伺服器上可以有多個倉庫。
  • 容器(containers):鏡像的一個運行實例,類似linux系統環境,運行和隔離應用

2. 安裝docker

2.1. 先決條件

  • 必須是64位CPU架構的計算機,Docker目前不支持32位CPU;
  • 運行Linux3.8或更高版本內核,CentOS的內核版本不能低於3.10;
  • 內核必須支持一種合適的存儲驅動,可以是Device Manager、AUFS、vfs、btrfs、以及默認的驅動Device Mapper中的一個;
  • 內核必須支持並開啟cgroup和命名空間namespace功能。

2.2. 檢查前提條件

  • 內核
    通過uname命令來檢查內核版本信息。
  • 檢查Device Mapper
    ls -l /sys/class/misc/device-mapper

2.3. 安裝docker

環境準備:

Kernel 3.10+

(1)檢查系統的內核版本,返回的值大於3.10即可

[root@ss30 ~] yum update安裝docker:

命令:yum -y install docker.io (apt-get install -y docker.io)

用此命令安裝的可能不是docker的最新版本,要想安裝docker的最新版本可以使用如下命令:

命令:curl -s https://get.docker.com | sh

[root@ss30 redis6.0] ps -ef |grep dockerroot 6966 1 1 19:51 ? 00:00:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sockroot 7102 1862 0 19:51 pts/0 00:00:00 grep --color=auto docker[root@ss30 redis6.0] docker pull mysql:5.7.30

[root@ss30 img] docker container ls[root@ss30 ~] docker images[root@ss30 ~] docker container ls

備註:

  • –name:為容器指定一個名稱,此處命名為mysql5.7
  • -e:配置信息,此處配置mysql的root用戶的登陸密碼
  • -p:埠映射,此處映射 主機3306埠 到 容器的3306埠
  • -d:後臺運行容器,並返回容器ID;
    內部映射的埠改成其他埠時候,需要進入docker內 把對應的埠my.cnf進行配置

登錄容器:docker exec -it 容器ID bash

docker exec -it b2240680eb53 /bin/bash

3.3. 登錄mysql

查看所有container

[root@ss30 openssl-1.1.1g] docker start fd014d8ed34b 關閉使用stop命令[root@ss30 openssl-1.1.1g] docker exec -it mysql bashroot@fd014d8ed34b:/ mysql -uroot -p123456

3.4. 目錄映射

...

✨ 接下來內容請訪問原文(https://www.modb.pro/db/29222?YYF)進行查看~

更多資料庫相關內容,可訪問墨天輪(https://www.modb.pro/?YYF)進行瀏覽。

相關焦點

  • 在docker環境下安裝mysql
    docker通過pull方式安裝mysql1.搜索鏡像命令:docker search mysql,mysql的這種安裝方式和上一節我們介紹的tomcat的步驟很相似。2.拉取下載鏡像命令:docker pull mysql:5.6,這裡以5.6版本為例。
  • Docker 搭建 nginx + mysql + php 開發環境全方面教學!
    下載頁面我的運行環境:運行環境下載安裝包並安裝後,菜單欄出現 Docker 的標識後,便可以開始搭建我們的環境了。/web/mysql/mysql_sock:/var/run/mysqld 將主機 ~/web/mysql/mysql_sock 目錄掛載到容器的 /var/run/mysqld (為防止 php 容器無權限讀取 mysql 容器的 sock 文件)-d 後臺運行安裝完成後使用 docker ps 查看當前運行的容器
  • Docker環境下Redmine的部署指南
    Docker環境下Redmine的部署指南# 1、啟動mysql鏡像docker run -d -p 3306:3306 --name some-mysql/mysql.conf.d/mysqld.cnf 報錯,因為鏡像中沒有安裝vim,所以需要安裝vim通過查看官方dockerfile文件得知mysql官方鏡像的基礎鏡像是debian ,所以安裝vim的命令是:Apt-get install -y vim
  • 「Docker篇」Docker安裝MySql
    search mysql上圖可見已存在的有很多mysql 鏡像,當然你也可以檢索mysql5.7固定版本的docker鏡像,這裡我們暫時使用默認鏡像拉取MySql鏡像docker pull mysql>docker run創建一個新的容器並運行一個命令-p 3306:3306建立容器與主機埠映射--name dockermysql
  • Docker 安裝 Mysql 5.7
    背景阿里雲基礎版 RDS 最近因為大數據量查詢經常宕機(阿里雲工單回復是 OOM,讓升級高可用版本~),導致日常辦公軟體(Crowd,Jira,Confluence等)無法使用,所以在 ECS 搭建本地 Mysql。
  • windows下windows版docker安裝dnmp環境
    1.輸入命令docker-machine ssh default 回車就進入了默認的主機(這個是linux環境,如果打開桌面Oracle VM VirtualBox圖標也是可以看到有一臺default的虛擬機在運行)2.切換到root用戶,輸入sudo –i 回車 ,玩過linux的都知道前面顯示#號則說明當前是root用戶,顯示$符號則是一般用戶3.下載dnmp
  • docker怎麼安裝MySQL docker安裝MySQL教程
    1.3  啟動docker經過上述安裝後,啟動docker服務即可systemctl start docker1.4  測試docker 部署是否成功可以運行經典的hello-world 來測試 可見docker已部署成功並可以正常運行。
  • docker的基礎命令與使用
    第二種模式,有默認網關實現進入容器,exec,即docker exec -it mysql /bin/bash停止一個 docker stop mysql mysql2 mysql3做列舉已運行docker ps再啟動docker start mysql mysql2 msyql3刪除合部容器docker
  • Dockerfile配合docker-compose實現環境自動化
    FROM 和 RUN 指令的作用FROM:定製的鏡像都是基於 FROM 的鏡像,這裡的 nginx 就是定製需要的基礎鏡像。後續的操作都是基於 nginx。RUN:用於執行後面跟著的命令行命令。docker簡介:什麼是ComposeCompose 是用於定義和運行多容器 Docker 應用程式的工具。通過 Compose,您可以使用 YML 文件來配置應用程式需要的所有服務。
  • 使用 Docker 部署 Django + MySQL 8 開發環境
    前一段時間重裝了系統,然後我還沒有備份,導致電腦裡的開發環境全都沒有了。一想到又要裝 Python 環境,還要裝資料庫,然後安裝過程中還可能報一堆錯就頭疼。最近正在學習 Docker,這不正好解決了我當前的痛點了嗎?
  • 原來Docker安裝Mysql如此簡單
    search mysql2.拉取鏡像,這裡我們以mysql-5.7為例:docker pull mysql:5.73.拉取之後運行即可,命令如下:docker run --name mysql -p 3306
  • 基於Docker運行資料庫mysql 8.0以及使用navicat連接教程
    docker技術與近幾年發展火熱,以下介紹怎麼使用docker運行mysql 8.0 版本及進行遠程連接。對於docker,讀者需要了解container,images 概念環境準備Centos7 -IP 192.168.1.100Mobaxterm -linux終端工具。
  • Docker + Nodejs + Kafka + Redis + MySQL搭建簡單秒殺環境
    seckill service在更新完redis之後,會發送一條消息給kafka表示一次成功的秒殺  seckill kafka consumer: 基於nodejs的kafka consumer,會從kafka中去獲取秒殺成功的消息,處理並且存儲到mysql中  mysql:一個mysql的docker container,最終秒殺成功的請求都會對應著資料庫表中的一條記錄
  • Docker部署MySQL主從
    /master/{conf,logs,data}mkdir -p ~/docker-mysql/slave/{conf,logs,data}conf 配置文件logs 日誌文件data 數據文件啟動主庫docker
  • 02-Docker安裝MySQL
    1、檢查docker安裝情況在安裝之前,需要確認docker的工作狀態是正常的,通過下面命令來確認。 查看docker工作狀態docker info 下載最新版本docker pull mysql:latest 運行最新版本docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql 通過容器名字訪問docker exec
  • 使用docker備份mysql資料庫
    所以,資料庫備份在生產上是必不可少的,下面我們來了解下在docker環境下mysql資料庫的備份是如何做的。編寫定時任務腳本,在/opt/backup/目錄下新建backup-task.sh文件,輸入以下內容:taskdate=$(date +%Y%m%d)mkdir /opt/backup/$taskdatedocker exec mysql mysqldump -uroot -p123456 db1 > /opt/backup/$taskdate/xxx.sql
  • 雲計算核心技術Docker教程: Docker 安裝mysql
    本文通過docker安裝mysql。1.查找鏡像:$ docker search mysql2、拉取 MySQL 鏡像,這裡我們拉取官方的最新版本的鏡像:$ docker pull mysql:latest
  • Windows環境下,如何在Docker裡運行SAP UI5應用
    >在Kubernetes上運行SAP UI5應用(下)當時給出的例子是,在Ubuntu作業系統下用Docker和Kubernetes運行一個UI5應用。因為我知道ABAP從業者們很多用的還是Windows開發環境,所以本文簡單地把我在Windows作業系統下搭建Docker的步驟羅列出來,有興趣的朋友可以照著做一遍。這裡的Windows特指Windows10.
  • docker一條命令部署jar包+nginx+mysql
    本文基於docker和docker-compose環境,安裝方式參見我的其他文章 一.新建一個docker-compose.yml文件,輸入以下內容version: "3"services: mysql: image: mysql:5.7.26 ports: - "3306:3306" restart: "always" container_name: mysql command:
  • docker安裝mysql
    docker pull mysqldocker images |grep mysql創建目錄mysqlmkdir -p /usr/local/mysql/data /usr/local/mysql/logs /usr/local/mysql/conf# 虛擬機 3306 埠和容器裡的3306埠對應,虛擬機路徑和容器裡路徑(下圖,來自頭部參考地址)對應docker run -p 3306:3306 --name mysql -v /var/cnmp/mysql