溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Docker中Mysql容器無(wú)法停止無(wú)法刪除如何解決

發(fā)布時(shí)間:2023-03-07 10:00:47 來(lái)源:億速云 閱讀:146 作者:iii 欄目:開(kāi)發(fā)技術(shù)

這篇文章主要介紹“Docker中Mysql容器無(wú)法停止無(wú)法刪除如何解決”,在日常操作中,相信很多人在Docker中Mysql容器無(wú)法停止無(wú)法刪除如何解決問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”Docker中Mysql容器無(wú)法停止無(wú)法刪除如何解決”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

    Mysql容器無(wú)法停止無(wú)法刪除問(wèn)題

    問(wèn)題

    mysql容器如法停止,無(wú)法刪除,也無(wú)法連接。docker stop,docker kill等命令都無(wú)效。

    處理辦法:

    1.停止所有的容器

    docker stop 容器Id

    2.強(qiáng)制移除此容器

    docker rm -f 容器id

    3.清理此容器的網(wǎng)絡(luò)占用

    • 格式:docker network disconnect --force 網(wǎng)絡(luò)模式 容器名稱 

    • 示例:docker network disconnect --force bridge 容器名

    4.簡(jiǎn)查是否還有同名容器占用

    • 格式:docker network inspect 網(wǎng)絡(luò)模式

    • 示例:docker network inspect bridge

    5.重新構(gòu)建容器

    示例1

    docker run --name mysql --restart=always \
        -v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf \
        -v /home/mysql/data:/var/lib/mysql \
        -p 3317:3306 \
        -e MYSQL_ROOT_PASSWORD="root" \
        -e TZ=Asia/Shanghai \

    示例2

    docker run --name mysql 
    -v /data/mysql-data:/var/lib/mysql 
    -p 33306:3306 
    -e MYSQL_ROOT_PASSWORD=guest-root 
    mysql:latest

    啟動(dòng)報(bào)錯(cuò):

    Different lower_case_table_names settings for server ('0') and data dictiona

    原因

    mysql8.x版本修改區(qū)分的大小寫(xiě)的配置

    解決方法

    1、在my.cnf配置文件[mysqld]下添加

    [mysqld]
     
    lower_case_table_names=1

     2、docker啟動(dòng)mysql修改配置  添加 --lower-case-table-names=1 :

    docker run --name mysql --restart=always \
        -v /home/mysql/conf/my.cnf:/etc/mysql/my.cnf \
        -v /home/mysql/data:/var/lib/mysql \
        -p 3317:3306 \
        -e MYSQL_ROOT_PASSWORD="root" \
        -e TZ=Asia/Shanghai \
        -d mysql:8.0 --lower-case-table-names=1

    Docker中Mysql的使用

    拉取MySQL鏡像

    # docker pull mysql:8.0.4
    docker pull mysql:5.7.5

    創(chuàng)建可掛載磁盤(pán)目錄

    mkdir -p /docker/mysql
    chmod -R 777 /docker/mysql

    運(yùn)行MySQL容器

     docker run --name mysql \
    -p 3306:3306 \
    -v /docker/mysql/data:/var/lib/mysql \
    -v /docker/mysql/log:/var/log/mysql \
    -v /docker/mysql/conf.d:/etc/mysql/conf.d \
    -e MYSQL_ROOT_PASSWORD=123456 \
    -d mysql:5.7.5

    查看docker容器的運(yùn)行狀態(tài):

    docker ps  # 查看運(yùn)行中的容器
    docker ps -a # 查看所有容器的狀態(tài)

    停止容器

    docker stop CONTAINER ID

    運(yùn)行已經(jīng)停止的容器

    docker start CONTAINER ID

    刪除容器

    docker rm CONTAINER ID

    強(qiáng)制刪除運(yùn)行中的容器

    docker rm  CONTAINER ID -f

    刪除所有已停止的容器(display all container ID)

    docker rm $(docker ps -a -q)

    Docker中Mysql容器無(wú)法停止無(wú)法刪除如何解決

    查看鏡像詳情

    docker image inspect IMAGE [IMAGE..]

    Docker中Mysql容器無(wú)法停止無(wú)法刪除如何解決

    查看歷史鏡像

    docker image history 【OPTIONS】IMAGE
    docker history 【OPTIONS】IMAGE

    修改鏡像名稱和標(biāo)簽

    docker tag source_IMAGE【:TAG】 TARGET_IMAGE【:TAG】

    進(jìn)入MySQL容器

    docker exec -it mysql /bin/bash

    使用MySQL命令行工具連接MySQL

    mysql -h localhost -u root -p

    輸入密碼

    修改root賬戶的認(rèn)證模式

    Alter USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

    驗(yàn)證外部連接

    到此,關(guān)于“Docker中Mysql容器無(wú)法停止無(wú)法刪除如何解決”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注億速云網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!

    向AI問(wèn)一下細(xì)節(jié)

    免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

    AI