昆明網(wǎng)站制作方案企業(yè)網(wǎng)絡(luò)營(yíng)銷推廣案例
個(gè)人主頁(yè):金鱗踏雨
個(gè)人簡(jiǎn)介:大家好,我是金鱗,一個(gè)初出茅廬的Java小白
目前狀況:22屆普通本科畢業(yè)生,幾經(jīng)波折了,現(xiàn)在任職于一家國(guó)內(nèi)大型知名日化公司,從事Java開發(fā)工作
我的博客:這里是CSDN,是我學(xué)習(xí)技術(shù),總結(jié)知識(shí)的地方。希望和各位大佬交流,共同進(jìn)步 ~
問題描述
這一段時(shí)間,學(xué)習(xí)了黑馬的一個(gè)的SpringCloud項(xiàng)目——學(xué)成在線。我將項(xiàng)目中需要的組件都放在了我的一臺(tái)虛擬機(jī)上,用docker的方式。
但是發(fā)現(xiàn),每次啟動(dòng)的時(shí)候MySQL容器經(jīng)常失敗,報(bào)錯(cuò)如下:
Error response from daemon: driver failed programming external connectivity on endpoint mysql (868f20f1e4165e72ae2275dec7bee377572098cfcff3177b413d9f32a4b4928e): Error starting userland proxy: listen tcp4 0.0.0.0:3306: bind: address already in use
Error: failed to start containers: 0c4e5bdc6f7e
大概是端口占用......
解決辦法
實(shí)際上解決這個(gè)問題也很容易
一、暴力
找到占用3306端口的進(jìn)程,然后kill即可
我們先使用命令,找到所有進(jìn)程的端口
netstat -tanlp
然后直接使用 kill 命令
# 1837 -- 進(jìn)程號(hào)
kill 1837
再重新啟動(dòng)mysql即可
# 0c4e5bdc6f7e -- 通過docker ps -a 查看到的容器的ID
docker start 0c4e5bdc6f7e
但是,這樣子做,對(duì)于我來說還是有點(diǎn)治標(biāo)不治本! 因?yàn)槿绻@樣子處理的話,相當(dāng)于每次啟動(dòng)vm的時(shí)候,都要重復(fù)一遍上述的工作。
因?yàn)?#xff0c;我的docker沒有自啟動(dòng),而這個(gè) mariadb(我也不知道是怎么來的~~~可能是之前的機(jī)子有禪道,禪道用的數(shù)據(jù)庫(kù)就是mariadb)在啟動(dòng)VM的時(shí)候就啟動(dòng)了,3306端口先被占用了。
二、卸載mariadb
由于我的端口占用是禪道引起的,所以我直接卸載禪道即可!
# 停止服務(wù)
/opt/zbox/zbox stopcd /optrm -rf /zbox
停止服務(wù),刪除zbox目錄即可卸載。
三、重新指定這個(gè)MySQL的端口
可以把之前的mysql容器刪除了,再重新創(chuàng)建一個(gè)新的,如下:?
docker run --name mysql \--restart=always \-e MYSQL_ROOT_PASSWORD=888888 \-v /home/lcxz8686/DockerContainerProperties/mysql/data:/var/lib/mysql \-v /home/lcxz8686/DockerContainerProperties/mysql/conf:/etc/mysql/conf.d \-p 3309:3306 \-d \mysql:8.0.30
如果不想刪除,可以這樣子做:
先進(jìn)入容器內(nèi)部
docker exec -it mysql /bin/bash
將容器里面的 /etc/mysql/my.cnf? 文件復(fù)制出來修改(原因是docker容器內(nèi)部大多數(shù)不支持vim命令,下載安裝比較麻煩!!!)如果里面沒有my.cnf就在 CentOS 上面創(chuàng)建一個(gè),編寫好,再懟回去。
# 容器復(fù)制命令 -- 需要退出容器
docker cp mysql:/etc/mysql/my.cnf /etc/mysql
修改完了再cp回去
docker cp my.cnf mysql:/etc/mysql/
再重啟該容器即可!!!?
文章到這里就結(jié)束了,如果有什么疑問的地方,可以在評(píng)論區(qū)指出~
希望能和大佬們一起努力,諸君頂峰相見
再次感謝各位小伙伴兒們的支持!!!