Docker啟動容器后自動關(guān)閉問題解決
一、問題
在使用Docker創(chuàng)建并啟動mysql容器時,發(fā)現(xiàn)mysql容器并沒有啟動而是自動關(guān)閉了
[root@localhost opt]# docker run -d -p 3306:3306 -v /opt/mysql/conf:/etc/mysql/conf.d -v /opt/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mysql mysql:5.7 c75b6514cbef3d195142919cd7b8201014c60c48c01ecc5bbf68a285f5d3e36b
通過一下命令查看發(fā)現(xiàn)該容器確實尚未啟動,狀態(tài)為Exited 參數(shù)說明 -a 表示查看未啟動容器
[root@localhost opt]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES c75b6514cbef mysql:5.7 "docker-entrypoint..." 4 minutes ago Exited (1) 4 minutes ago mysql
二、原因分析
通過查詢?nèi)萜魅罩景l(fā)現(xiàn)如下問題
chown: changing ownership of '/var/lib/mysql/': Permission denied
權(quán)限不允許,因為虛擬機系統(tǒng)是centos7的版本,而Centos7的安全Selinux禁止了一些安全權(quán)限,導(dǎo)致掛載信息時出現(xiàn)權(quán)限不足
三、三種解決辦法
1.在docker run中加入 --privileged=true 給容器加上特定權(quán)限(建議這一種方式)
docker run -d --name mysqlvolume -v /opt/conf:/etc/mysql/conf.d -v /opt/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --privileged=true c20987f18b13
此處的容器id可能與上面的id不同,因為是后面來總結(jié)的,前面有些記錄找不到了,就重新模擬了一遍~~
2.關(guān)閉selinux
進入selinux配置文件
vim /etc/selinux/config
修改如下:SELINUX=disabled
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - No SELinux policy is loaded. SELINUX=disabled # SELINUXTYPE= can take one of three two values: # targeted - Targeted processes are protected, # minimum - Modification of targeted policy. Only selected processes are protected. # mls - Multi Level Security protection. SELINUXTYPE=targeted
3.在selinux添加規(guī)則,修改掛載目錄的特定權(quán)限
我是用第一種方法解決的~~~~

到此這篇關(guān)于Docker啟動容器后自動關(guān)閉問題解決的文章就介紹到這了,更多相關(guān)Docker啟動容器后自動關(guān)閉內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
docker容器inspect內(nèi)容NetworkSettings的使用
文章主要介紹了Docker容器的網(wǎng)絡(luò)設(shè)置,包括默認(rèn)bridge網(wǎng)絡(luò)和多網(wǎng)絡(luò)連接的配置,詳細解釋了頂層字段(如Bridge、SandboxID、HairpinMode等)以及Networks對象的使用方法,推薦使用Networks對象來獲取容器的網(wǎng)絡(luò)信息,因為它提供了更靈活和全面的配置選項2026-02-02
Docker自定義鏡像的實現(xiàn)步驟(SpringBoot程序為例)
Docker自定義鏡像指的是用戶根據(jù)自己的需求和規(guī)范,使用Dockerfile或其他方式創(chuàng)建的一個Docker鏡像,本文給大家介紹了Docker自定義鏡像的實現(xiàn)步驟,文中通過圖文講解的非常詳細,需要的朋友可以參考下2024-06-06
Docker拉取鏡像時遇到dial tcp...443:i/o timeout錯誤的解決方案
本文介紹了如何解決在使用Docker時遇到的網(wǎng)絡(luò)超時問題,包括配置鏡像加速服務(wù)以提高鏡像拉取速度和穩(wěn)定性2025-12-12
docker沒有錯誤日志,鏡像服務(wù)卻啟動不成功的問題以及排查方式
這篇文章主要介紹了docker沒有錯誤日志,鏡像服務(wù)卻啟動不成功的問題以及排查方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-05-05
Docker?Compose+Nestjs構(gòu)建Dapr?Redis發(fā)布訂閱分布式應(yīng)用
這篇文章主要為大家介紹了Docker?Compose+Nestjs構(gòu)建Dapr?Redis發(fā)布訂閱分布式應(yīng)用步驟詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-08-08
詳解使用export/import導(dǎo)出和導(dǎo)入docker容器
本篇文章主要介紹了詳解使用export/import導(dǎo)出和導(dǎo)入docker容器,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-07-07

