国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

使用Docker容器運行Mysql

這篇具有很好參考價值的文章主要介紹了使用Docker容器運行Mysql。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

提示:文章寫完后,目錄可以自動生成,如何生成可參考右邊的幫助文檔


前言

隨著虛擬化技術(shù)和云計算的普及,容器技術(shù)的優(yōu)點也逐步體現(xiàn),軟件部署和環(huán)境遷移的優(yōu)勢無可替代。
目前Docker已經(jīng)成為容器技術(shù)中的主要代表,恰好涉及需要在liunux系統(tǒng)上部署Mysql數(shù)據(jù)庫用于測試,由于是初次使用docker部署Mysql,所以對其中一些操作進行記錄。


一、基礎(chǔ)的虛擬機環(huán)境

使用虛擬機,安裝ubuntu系統(tǒng),發(fā)行版和內(nèi)核信息如下:

root@ldap:/# cat /etc/lsb-release 
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=22.04
DISTRIB_CODENAME=jammy
DISTRIB_DESCRIPTION="Ubuntu 22.04.2 LTS"
root@ldap:/# uname -r
5.15.0-72-generic
root@ldap:/# 

只所以使用ubuntu是因為centos各大鏡像站都已經(jīng)停止維護,在基礎(chǔ)系統(tǒng)安裝過程中,經(jīng)常出現(xiàn)一些莫名其妙的問題,雖然可以解決但比較浪費時間。

二、安裝過程

安裝配置docker

# 安裝 docker 和 docker-compose
#先移除docker。其實也不用重裝docker,我用的ubuntu里已經(jīng)安裝了完整的docker,但我想用用華為云發(fā)布的docker-ce,所以就按說明對原docker進行了移除操作
#如果不是root用戶,則需要加sudo,否則不用。
sudo apt remove docker docker-engine dockdocker.io containerd runc
#更新后,安裝依賴,apt源已經(jīng)改為華為鏡像源
sudo apt update
sudo apt install  -y \
    apt-transport-https \
    ca-certificates \
    curl \
    gnupg-agent \
    software-properties-common
#運行公鑰,添加docker軟件倉庫
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository \
"deb [arch=amd64] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) \
stable"
#安裝docker-ce docker-ce-clicontainerd.io
sudo apt update
sudo apt install docker-ce docker-ce-cli containerd.io -y

#sudo curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
#sleep 1
#sudo chmod +x /usr/local/bin/docker-compose
#安裝docker-compose
apt install docker-compose docker-compose-plugin -y

#啟動docker,開機自啟動
systemctl start docker
systemctl enable docker

拉取Mysql鏡像

#查看倉庫mysql鏡像
#docker search mysql
docker search mysql
NAME                            DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
mysql                           MySQL is a widely used, open-source relation…   14159     [OK]       
mariadb                         MariaDB Server is a high performing open sou…   5408      [OK]       
percona                         Percona Server is a fork of the MySQL relati…   609       [OK]       
phpmyadmin                      phpMyAdmin - A web interface for MySQL and M…   802       [OK]       
circleci/mysql                  MySQL is a widely used, open-source relation…   29                   
bitnami/mysql                   Bitnami MySQL Docker Image                      86                   [OK]
bitnami/mysqld-exporter                                                         5                    
ubuntu/mysql
#使用命令docker pull mysql ,默認tag:latest
docker pull mysql
Using default tag: latest
latest: Pulling from library/mysql
90e2fb2facff: Pull complete 
ba60eb20fd5f: Pull complete 
4f509402d469: Pull complete 
496c2cfa6815: Pull complete 
8ec1dfa9522c: Pull complete 
6dec7ba896f8: Pull complete 
dc9ff75362b0: Pull complete 
73e4682f9014: Pull complete 
9ffdeecd6fb6: Pull complete 
a4346ccfb53f: Pull complete 
434c13bc32de: Pull complete 
Digest: sha256:d6164ff4855b9b3f2c7748c6ec564ccff841f79a7023db0f9293143481a44b6e
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest
   

用docker啟動mysql

docker run -p 3306:3306 --name mysql -v /mydata/mysql/log:/var/log/mysql -v /mydata/mysql/data:/var/lib/mysql -v /mydata/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:latest
60bc33b60efa81c32d93e3452fd5fbe3a5d72c4cfc898d77af1a70a83cdd77e5
root@l:/# 
root@l:/# docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
root@:/# 

命令的使用和參數(shù)具體解釋如下:

1.必要參數(shù):

-p 3306:3306:將宿主主機的3306端口映射到容器的3306端口,使宿主主機可以連接容器內(nèi)的MySQL服務(wù)。
–name mysql:為容器命名為mysql。

2.數(shù)據(jù)卷配置參數(shù):

-v /mydata/mysql/log:/var/log/mysql:將宿主機上的/mydata/mysql/log目錄掛載到容器的/var/log/mysql目錄下,用于存儲MySQL的日志文件。
-v /mydata/mysql/data:/var/lib/mysql:將宿主機上的/mydata/mysql/data目錄掛載到容器的/var/lib/mysql目錄下,用于存儲MySQL的數(shù)據(jù)文件。
-v /mydata/mysql/conf:/etc/mysql:將宿主機上的/mydata/mysql/conf目錄掛載到容器的/etc/mysql目錄下,用于存儲MySQL的配置文件。

3.MySQL賬戶安全參數(shù):

-e MYSQL_ROOT_PASSWORD=root:設(shè)置MySQL的root賬戶密碼為root。建議設(shè)置復(fù)雜的密碼。

4.容器啟動參數(shù):

-d mysql:lates:使用MySQL:lates鏡像,在宿主機后臺啟動容器,并命名為mysql。

通過以上參數(shù)配置,可以實現(xiàn)對MySQL容器的定制化部署,提高應(yīng)用程序的性能和可靠性。

這時候,返回一串字符“60bc33b60efa81c32d93e3452fd5fbe3a5d72c4cfc898d77af1a70a83cdd77e5”
表示命令正常執(zhí)行,而且已經(jīng)運行了Mysql鏡像容器。

當然,如果你這樣做了,會發(fā)現(xiàn):

#使用docker ps查看不到mysql的進程
docker ps
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES

#加參數(shù)-a后是有記錄的
# docker ps -a
docker ps -a
CONTAINER ID   IMAGE     COMMAND                  CREATED      STATUS                  PORTS     NAMES
60bc33b60efa   mysql     "docker-entrypoint.s…"   2 days ago   Exited (1) 2 days ago             mysql

原因是:雖然成功運行的了mysql容器,但是容器中沒有在執(zhí)行的程序,所以容器自動停止了。

你可以根據(jù)自己的需要,在啟動時添加容器運行參數(shù),例如

#以交互方式運行容器,并加載bash指令集
#docker run -it -p 3306:3306 --name mysql_new1 -e MYSQL_ROOT_PASSWORD=root -d mysql bash
#之前使用centos、ubuntu等基礎(chǔ)鏡像時,使用參數(shù)-it后,會進入到容器內(nèi),但這里不知道為什么,命令符還是宿主機的
docker run it -e MYSQL_ROOT_PASSWORD=root -d mysql bash

101258d2fdbf87f97dd533a05f164e2c6ec152e170a497b4ac787723cfc2cc81
# docker ps就可以看到運行容器狀態(tài)
docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS                                                  NAMES
101258d2fdbf   mysql     "docker-entrypoint.s…"   7 seconds ago   Up 6 seconds   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql_new1

#進入容器:docker exec -it mysql bash
docker exec -it 101 bash
bash-4.4# ls
bin   dev			  entrypoint.sh  home  lib64  mnt  proc  run   srv  tmp  var
boot  docker-entrypoint-initdb.d  etc		 lib   media  opt  root  sbin  sys  usr

bash-4.4# cat /etc/os-release 
NAME="Oracle Linux Server"
VERSION="8.8"
ID="ol"
ID_LIKE="fedora"
VARIANT="Server"
VARIANT_ID="server"
VERSION_ID="8.8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="Oracle Linux Server 8.8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:oracle:linux:8:8:server"
HOME_URL="https://linux.oracle.com/"
BUG_REPORT_URL="https://bugzilla.oracle.com/"

ORACLE_BUGZILLA_PRODUCT="Oracle Linux 8"
ORACLE_BUGZILLA_PRODUCT_VERSION=8.8
ORACLE_SUPPORT_PRODUCT="Oracle Linux"
ORACLE_SUPPORT_PRODUCT_VERSION=8.8

#尷尬了,沒用過Oracle Linux 8

總結(jié)

以上就是我使用docker運行mysql的過程記錄,docker的使用使用雖然簡單而且便利,但對不同程序鏡像運行容器時,還是要對具體要運行的程序有一定的了解,比如mysql,至少要知道一些mysql的使用命令或者參數(shù)。文章來源地址http://www.zghlxwxcb.cn/news/detail-586507.html

到了這里,關(guān)于使用Docker容器運行Mysql的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費用

相關(guān)文章

  • 如何使用Docker Compose搭建StackEdit編輯器并實現(xiàn)遠程辦公

    如何使用Docker Compose搭建StackEdit編輯器并實現(xiàn)遠程辦公

    StackEdit是一個受歡迎的Markdown編輯器,在GitHub上擁有20.7k Star!,它支持將Markdown筆記保存到多個倉庫,包括Gitee、GitHub和Gitea。此在線筆記工具還提供了一些便捷功能,如拖拽或粘貼上傳圖片、文件搜索功能,以及可切換為炫酷的暗黑主題,這些功能特別適合那些喜歡使用Mar

    2024年01月19日
    瀏覽(27)
  • CentOS使用docker本地部署StackEdit Markdown編輯器并實現(xiàn)公網(wǎng)訪問

    CentOS使用docker本地部署StackEdit Markdown編輯器并實現(xiàn)公網(wǎng)訪問

    StackEdit是一個受歡迎的Markdown編輯器,在GitHub上擁有20.7k Star!,它支持將Markdown筆記保存到多個倉庫,包括Gitee、GitHub和Gitea。此在線筆記工具還提供了一些便捷功能,如拖拽或粘貼上傳圖片、文件搜索功能,以及可切換為炫酷的暗黑主題,這些功能特別適合那些喜歡使用Mar

    2024年01月19日
    瀏覽(26)
  • 如何在使用Docker快速部署StackEdit并實現(xiàn)公網(wǎng)訪問本地編輯器遠程辦公

    如何在使用Docker快速部署StackEdit并實現(xiàn)公網(wǎng)訪問本地編輯器遠程辦公

    StackEdit是一個受歡迎的Markdown編輯器,在GitHub上擁有20.7k Star!,它支持將Markdown筆記保存到多個倉庫,包括Gitee、GitHub和Gitea。此在線筆記工具還提供了一些便捷功能,如拖拽或粘貼上傳圖片、文件搜索功能,以及可切換為炫酷的暗黑主題,這些功能特別適合那些喜歡使用Mar

    2024年02月04日
    瀏覽(24)
  • Linux使用Docker部署StackEdit結(jié)合內(nèi)網(wǎng)穿透實現(xiàn)公網(wǎng)訪問本地編輯器

    Linux使用Docker部署StackEdit結(jié)合內(nèi)網(wǎng)穿透實現(xiàn)公網(wǎng)訪問本地編輯器

    前言 實現(xiàn)ubuntu 系統(tǒng)桌面級別的遠程連接,需要在ubuntu 系統(tǒng)中安裝vnc,既然是桌面,前提是需要ubuntu 帶有圖形化界面,如果沒有,可以執(zhí)行以下命令安裝圖形化界面 1. ubuntu安裝VNC 在ubuntu中安裝vnc 安裝LightDM【LightDM從設(shè)計上就是支持本地圖形界面以獲得最好的兼容性】 安裝過程中會

    2024年04月08日
    瀏覽(33)
  • docker運行并進入MySQL容器

    這是一個使用Docker命令行工具來啟動一個MySQL容器的命令。下面,讓我們來詳細解析這條命令: docker run docker : Docker的命令行工具。 run : Docker的子命令,用于啟動一個新的容器實例。 -itd 這是三個組合起來的標志: -i 或 --interactive : 保持標準輸入打開,即使沒有附加到容器的

    2024年02月09日
    瀏覽(31)
  • 使用Docker容器部署java運行環(huán)境(java8 + mysql5.7 + redis5.0 + nginx1.14.1

    使用Docker容器部署java運行環(huán)境(java8 + mysql5.7 + redis5.0 + nginx1.14.1

    環(huán)境:阿里云ECS服務(wù)器 1.1 安裝工具 1.2 為yum源添加docker倉庫位置 1.3 將軟件包信息提前在本地索引緩存 (非必要,建議執(zhí)行,可以提升yum安裝的速度,報錯去掉fast試試) 1.4 安裝Docker 傻瓜式安裝 點擊y 1.5 啟動Docker 1.6 設(shè)置開機自啟動 1.7 安裝完成后可以測試一下,是否安裝成功

    2024年02月02日
    瀏覽(32)
  • MySQL運行在docker容器中會損失多少性能

    自從使用docker以來,就經(jīng)常聽說MySQL數(shù)據(jù)庫最好別運行在容器中,性能會損失很多。一些之前沒使用過容器的同事,對數(shù)據(jù)庫運行在容器中也是忌諱莫深,甚至只要數(shù)據(jù)庫跑在容器中出現(xiàn)性能問題時,首先就把問題推到容器上。 那么到底會損失多少,性能損失會很多嗎? 為此

    2024年02月05日
    瀏覽(20)
  • 向正在運行的docker mysql容器中 導(dǎo)入sql文件

    當需要將 SQL 文件導(dǎo)入正在運行的 Docker MySQL 容器時,可以按照以下步驟操作。 首先,使用 docker cp 命令將 SQL 文件從本地主機復(fù)制到正在運行的 Docker 容器中。請確保您已經(jīng)在主機上擁有該 SQL 文件。執(zhí)行以下命令: 這將把本地路徑下的 your_file.sql 文件復(fù)制到運行的容器中的

    2024年02月16日
    瀏覽(35)
  • 講講項目里的儀表盤編輯器(四)分頁卡和布局容器組件

    講講項目里的儀表盤編輯器(四)分頁卡和布局容器組件

    ????????講講兩個經(jīng)典布局組件的實現(xiàn) ???????? ? ? ? ? 配置面板是給用戶配置布局容器背景顏色等屬性。這里我們不需要關(guān)注 ? ? ? ? 定義文件 ? ? ? ? ?規(guī)定了組件類的 類型 、標簽、圖標、 默認布局屬性、主文件 等等。 ? ? ? ? 入口文件會通過一系列邏輯生成

    2024年02月07日
    瀏覽(20)
  • Unity編輯器運行時設(shè)置GameView分辨率

    Unity編輯器運行時設(shè)置GameView分辨率

    0是Free Asepect 3是Full HD (1920x1080) Unity 2021.3.11f1c2

    2024年02月09日
    瀏覽(25)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包