docker安装镜像
1、docker之镜像安装
1.1 查看docker中是否安装过mysql
docker search mysql
1.2安装mysql镜像
这里以安装mysql8为例
- docker拉取mysql镜像
docker pull mysql:8.0
- 查看安装的mysql镜像
docker images
通过命令可以查看到如图片内容,看到mysql说明镜像安装成功
- 安装成功后做如下操作
创建容器,设置端口映射,目录映射
1】创建mysql容器目录
mkdir /mnt/docker/mysql
cd /mnt/docker/mysql
2】在该目录下创建此3个目录
3】在conf下创建my.cnf,并编辑内容
4】创建容器实例
docker run -p 3306:3306 --name=c_mysql -v /mnt/docker/mysql/conf:/etc/mysql/conf.d -v /mnt/docker/mysql/logs:/logs -v /mnt/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0
其中 容器实例定义名为 c_mysql
-d 以守护进程运行 3306:6000为映射端口 表示将Docker容器的 6000 端口映射到 外机的 3306端口 ,并且以Root方式启动mysql,密码为 root
5】mysql容器创建后,查看创建的容器
docker ps -a
1.3 运行mysql
首先进入mysql容器,-it后面为mysql的容器id
docker exec -it b0cdb9687f61 /bin/bash
进入容器后,登录mysql
mysql -uroot -p
登录成功
1.4 安装mysql镜像遇到的问题
- 输入下面命令进入容器
出现bash-4.4#
docker exec -it b0cdb9687f61 /bin/bash
解决办法
bash中输入如下命令后,退出,再从新输入1.中的命令,成功进入容器
- 进入容器后登录,登录失败
mysql命令运行报错:Can‘t connect to local MySQL server through socket ‘/var/run/mysqld/mysqld.sock‘
解决办法:
建立sock之间的连接
ln -s /var/lib/mysql/mysql.sock /var/run/mysqld/mysqld.sock
把这个sock文件挂载到 /var/run/mysqld/mysqld.sock 就可以了,这样就可以登录了
1.5 删除docker中的mysql
删除mysql之前要先暂停mysql的启动
docker stop 73f8811f669e
//通过指定mysql容器ID
暂停mysql运行后,就可以删除mysql容器了
docker rm 73f8811f669e
//通过指定mysql容器ID
准备删除mysql镜像
docker rmi mysql:8.0
//mysql:8.0为镜像名称+tag
//可以通过docker images查看
2、docker的基本命令
2.1 启动docker容器
/bin/systemctl start docker.service
2.2 查看所有实例运行
docker ps -a
2.3 查看docker是否启动
systemctl status docker
2.4 docker关闭
systemctl stop docker