docker 运行mysql

本文介绍了如何在Docker环境下操作MySQL,包括拉取镜像、查看与删除镜像、管理容器,以及设置MySQL登录密码和实现开机启动。通过这些步骤,读者可以学会在Docker上部署和维护MySQL服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

查看本地所有的镜像 输出如下:

$ docker images 
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
mysql               latest              b6487d0ec59e        11 hours ago        456MB
hello-world         latest              fce289e99eb9        9 months ago        1.84kB

 搜索mysql的镜像

$ docker search mysql
NAME                              DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
mysql                             MySQL is a widely used, open-source relation…   8696                [OK]                
mariadb                           MariaDB is a community-developed fork of MyS…   3036                [OK]                

拉取mysql镜像,就是下载到本地:

$ docker pull mysql:5.7

再次查看本地镜像的时候就会出现 REPOSITORY 和 TAG 分别为 mysql  latest:5.7 的一条数据,此时镜像下载成功。

删除一个镜像 必须没有容器使用到这个镜像

$ docker rmi <IMAGE ID> 

删除全部镜像:

$ docker rmi $(docker images -q) 

重启全部镜像:

$ docker restart $(docker images -q) 

查看正在运行的容器

$ docker ps 


查看所有的容器,包括未运行的,输出如下:

$ docker ps -a 
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
ce51668a2d85        mysql:latest        "docker-entrypoint.s…"   29 minutes ago      Exited (0) 3 seconds ago                        eager_elbakyan
e507d6b10636        hello-world         "/hello"                 37 minutes ago      Exited (0) 37 minutes ago                       hopeful_bhabha

停止|启动|重启 一个容器

$ docker stop| start|restart <CONTAINER ID> 

删除一个容器 必须已经关闭了

$ docker rm <CONTAINER ID> 

运行mysql

$ docker run --name mysql -p 3303:3306 -e MYSQL_ROOT_PASSWORD=root1234 -d mysql:5.7

下面的是百度出来的 复杂一点 暂时还没研究:

$ docker run --name mysql -p 3303:3306 -v $PWD/conf:/etc/mysql/conf.d -v $PWD/logs:/logs -v $PWD/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root1234 -d mysql:5.7
    -p 3303:3306:将容器的 3306 端口映射到主机的 3303 端口,主机端口在前,容器端口在后,且主机端口可以更改,容器端口想要更改的话需要修改dockerfile。
    -v $PWD/conf:/etc/mysql/conf.d:将主机当前目录下的 conf/my.cnf 挂载到容器的 /etc/mysql/my.cnf。
    -v $PWD/logs:/logs:将主机当前目录下的 logs 目录挂载到容器的 /logs。
    -v $PWD/data:/var/lib/mysql :将主机当前目录下的data目录挂载到容器的 /var/lib/mysql 。
    -e MYSQL_ROOT_PASSWORD=123456:初始化 root 用户的密码。

 

此时在本机执行:

mysql -h 127.0.0.1 -P3303 -u root -p

回车,输入密码就可登录mysql。

 

docker加入开机启动:

$ systemctl daemon-reload

docker 启动 关闭 重启 查看状态:

$ service docker start|stop|restart|status

docker重启之后,容器需要重新启动:

$ docker ps 之后 docker start <CONTAINER ID> 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值