欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

docker啟動(dòng)MySQL容器失敗原因分析以及排查記錄

 更新時(shí)間:2025年02月10日 16:18:18   作者:暴躁的魚  
在使用Docker啟動(dòng)MySQL容器時(shí),遇到了配置文件路徑錯(cuò)誤的問題,通過查看容器日志發(fā)現(xiàn),容器讀取的配置文件路徑與指定的不一致,解決方法是修改啟動(dòng)命令中的配置文件路徑,將其指向正確的目錄,最終,容器成功啟動(dòng)并進(jìn)入U(xiǎn)p狀態(tài)

docker啟動(dòng)MySQL容器失敗原因及排查記錄

背景

最近在嘗試容器搭建MySQL集群時(shí)碰到一個(gè)錯(cuò)誤,啟動(dòng)MySQL時(shí)碰到一個(gè),經(jīng)過排查解決,在此做一個(gè)記錄

問題過程

啟動(dòng)MySQL容器

$ sudo docker run -d -p 3306:3306 \
> --name mysql \
> -v /opt/mysql/log:/var/log/mysql \
> -v /opt/mysql/data:/var/lib/mysql \
> -v /opt/mysql/conf:/etc/mysql \
> -e MYSQL_ROOT_PASSWORD=root \
> mysql
3cf4012772cc2e22732aa6d5eb716d7b290a95da25b750d4a1189e77ab985f33
# 運(yùn)行后,查看運(yùn)行中的容器發(fā)現(xiàn)沒有剛啟動(dòng)MySQL
[bing@centosone nginx]$ sudo docker ps
CONTAINER ID   IMAGE          COMMAND                   CREATED        STATUS        PORTS                                                                        NAMES
5c7b103435d1   nginx:latest   "/docker-entrypoint.…"   8 hours ago    Up 8 hours    0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:85->80/tcp, [::]:85->80/tcp   my-nginx
28cda42916c3   nginx:latest   "/docker-entrypoint.…"   15 hours ago   Up 15 hours   0.0.0.0:82->80/tcp, [::]:82->80/tcp                       
  • mysql/log:存儲(chǔ)MySQL日志
  • mysql/data:是數(shù)據(jù)庫文件(庫表數(shù)據(jù)存放處)存放的地方。必須要掛載到容器外,否則容器重啟一切數(shù)據(jù)消失。
  • mysql/conf:mysql配置,mysql啟動(dòng)時(shí)讀取配置

查看所有容器docker ps -a

發(fā)現(xiàn)MySQL是已經(jīng)exit了

$ sudo docker ps -a
CONTAINER ID   IMAGE          COMMAND                   CREATED          STATUS                      PORTS                                                                        NAMES
4e163949caa2   mysql          "docker-entrypoint.s…"   20 minutes ago   Exited (1) 17 minutes ago                                                                                mysql

然后嘗試刪除容器重啟還是一樣

$ sudo docker rm 4e1
4e1
$ sudo docker run -p 3306:3306 
--name mysql 
-v /opt/mysql/log:/var/log/mysql 
-v /opt/mysql/data:/var/lib/mysql 
-v /opt/mysql/conf:/etc/mysql 
-e MYSQL_ROOT_PASSWORD=root 
-d mysql
b3153c7d9d33f28e9808fbd6f8feea44ac12e45f9aec637a789a29b9f7f5dcd2

# 仍然是exit狀態(tài)
$ sudo docker ps -a
CONTAINER ID   IMAGE          COMMAND                   CREATED         STATUS                     PORTS                                                                        NAMES
b3153c7d9d33   mysql          "docker-entrypoint.s…"   3 seconds ago   Exited (1) 2 seconds ago                                                                                mysql

查看容器日志

$ sudo docker logs --tail 100 --follow --timestamps {容器名稱}

問題原因

如上圖,查看日志發(fā)現(xiàn)是沒有配置文件目錄,我們的命令指定的配置文件路徑是/etc/mysql/,而容器讀取的配置文件路徑是/etc/mysql/conf.d/。

在這一行-v /opt/mysql/conf:/etc/mysql,我們將主機(jī)路徑/opt/mysql/conf掛載到容器路徑/etc/mysql下,實(shí)際上容器配置在/etc/mysql/conf.d/目錄下。

修改啟動(dòng)命令

修改啟動(dòng)命令中的配置文件路徑,再次重新啟動(dòng)成功,如下:

sudo docker run -p 3306:3306 --name mysql \
-v /opt/mysql/log:/var/log/mysql \
-v /opt/mysql/data:/var/lib/mysql \
-v /opt/mysql/conf:/etc/mysql/conf.d \
-e MYSQL_ROOT_PASSWORD=root \
-d mysql
ef8d15ff3c2828b718357ad7d41117ca46c3fec7bb6b3a365c886926b275fbb8

# 啟動(dòng)成功
sudo docker ps 
[sudo] bing 的密碼:
CONTAINER ID   IMAGE          COMMAND                   CREATED          STATUS          PORTS                                                                        NAMES
ef8d15ff3c28   mysql          "docker-entrypoint.s…"   11 minutes ago   Up 11 minutes   0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp              

mysql容器終于是 Up 狀態(tài)了

總結(jié)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • 詳解利用ELK搭建Docker容器化應(yīng)用日志中心

    詳解利用ELK搭建Docker容器化應(yīng)用日志中心

    這篇文章主要介紹了詳解利用ELK搭建Docker容器化應(yīng)用日志中心,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • Docker Compose如何編排多個(gè)容器

    Docker Compose如何編排多個(gè)容器

    使用Docker Compose編排多個(gè)容器是一種簡單而強(qiáng)大的方式,可以在單個(gè)文件中定義、配置和管理多個(gè)容器,本文主要介紹了Docker Compose如何編排多個(gè)容器,感興趣的可以了解一下
    2023-11-11
  • docker文件存放路徑, 獲取容器啟動(dòng)命令操作

    docker文件存放路徑, 獲取容器啟動(dòng)命令操作

    這篇文章主要介紹了docker文件存放路徑, 獲取容器啟動(dòng)命令操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2020-11-11
  • 詳解Docker 容器基礎(chǔ)系統(tǒng)鏡像打包

    詳解Docker 容器基礎(chǔ)系統(tǒng)鏡像打包

    這篇文章主要介紹了詳解Docker 容器基礎(chǔ)系統(tǒng)鏡像打包,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2016-12-12
  • docker如何部署etcd集群

    docker如何部署etcd集群

    這篇文章主要介紹了docker如何部署etcd集群問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • 詳解Docker守護(hù)進(jìn)程的配置及日志

    詳解Docker守護(hù)進(jìn)程的配置及日志

    這篇文章主要介紹了詳解Docker守護(hù)進(jìn)程的配置及日志,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-04-04
  • Prometheus容器化部署的實(shí)踐方案

    Prometheus容器化部署的實(shí)踐方案

    這篇文章主要介紹了Prometheus容器化部署,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-12-12
  • Docker 安裝 LogStash的詳細(xì)過程

    Docker 安裝 LogStash的詳細(xì)過程

    Logstash,作為Elastic Stack家族中的核心成員之一,是一個(gè)功能強(qiáng)大的開源數(shù)據(jù)收集引擎,在本文中,我們將詳細(xì)介紹如何借助Docker容器技術(shù)快速安裝配置Logstash,以實(shí)現(xiàn)日志及各類事件數(shù)據(jù)的無縫集成與實(shí)時(shí)處理,感興趣的朋友一起看看吧
    2024-03-03
  • Docker利用DockerFile創(chuàng)建部署NVIDIA+PyTorch容器的詳細(xì)過程

    Docker利用DockerFile創(chuàng)建部署NVIDIA+PyTorch容器的詳細(xì)過程

    這篇文章主要介紹了Docker利用DockerFile創(chuàng)建部署NVIDIA+PyTorch容器的詳細(xì)過程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2023-06-06
  • Docker 多主機(jī)網(wǎng)絡(luò)通信詳細(xì)介紹

    Docker 多主機(jī)網(wǎng)絡(luò)通信詳細(xì)介紹

    這篇文章主要介紹了Docker 多主機(jī)網(wǎng)絡(luò)通信詳細(xì)介紹的相關(guān)資料,需要的朋友可以參考下
    2016-10-10

最新評(píng)論