docker: Error response from daemon: OCI runtime create failed: container_ linux. Go:380 error
Docker fails to run after installing mysql5.7, and reports error: OCI runtime create failed
Pull mysql5.7 on docker is OK
execute the code and report an error
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:5.7
cd to /mydata/mysql/conf and finds that it is not mounted correctly, and there is no /etc/mysql file path
Reason for error: because of the compatibility between Linux and docker version, the docker version needs to be degraded or reinstalled
There are two solutions:
- Reinstall the specified version of docker
- Downgrade docker to the specified version
The first method: uninstall and reinstall:
//Step 1: Uninstall docker
//List the packages downloaded by docker
sudo yum list installed | grep docker
//remove all the above related installed packages sudo yum -y remove "above show related packages"
sudo yum -y remove docker-ce.x86_64
sudo yum -y remove docker-ce-cli.x86_64
// Remove related images and containers
sudo rm -rf /var/lib/docker
sudo yum remove docker
docker-client
docker-client-latest
docker-common
docker-latest
docker-latest-logrotate
docker-logrotate
docker-selinux
docker-engine-selinux
docker-engine
//Test for deletion
docker -v
// Step 2: reinstall the specified version of docker
// Install some necessary system tools.
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
// Add software source information: sudo yum-config -y
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
//Update the yum cache.
sudo yum makecache fast
//View the available versions of Docker-ce: sudo yum list docker-ce
yum list docker-ce --showduplicates | sort -r
// If you need to show only table versions, you can turn off the list for test versions: yum list
sudo yum-config-manager --enable docker-ce-edge
sudo yum-config-manager --enable docker-ce-test
//Update the yum package index
yum makecache fast
//Install the specified version of docker-ce: sudo yum install -y docker-ce
sudo yum install -y docker-ce-17.03.2.ce-1.el7.centos
// Error: If the installation of the specified version of docker shows that the specified version of the docker-ce-selinux dependency package needs to be installed, please install.
yum install -y https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-selinux-17.03.2.ce-1.el7.centos.noarch.rpm
Then pull MySQL again
docker pull mysql:5.7
The second method: downgrade docker to the specified version:
//stop docker
sudo systemctl stop docker
//Enter the downgrade command
yum downgrade --setopt=obsoletes=0 -y docker-ce-17.03.2.ce-1.el7 docker-ce-selinux-17.03.2.ce-1.el7 containerd.io
//Checking the docker version
docker -v
Recreate container and start
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:5.7