前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker启动mysql容器失败_docker容器

docker启动mysql容器失败_docker容器

作者头像
全栈程序员站长
发布2022-11-10 17:50:56
4.5K0
发布2022-11-10 17:50:56
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

什么是 Docker?

Docker 是一种工具,它让容器创建,部署和运行应用程序变得更加容易。 容器使开发人员可以将应用程序与所需的所有部分(如库和其他依赖项)打包在一起,并将其作为一个包进行部署。 这样,借助容器,开发人员可以放心,该应用程序可以在任何其他Linux机器上运行,而不用管该机器的环境配置。

安装 Docker Desktop

前往官方网站:www.docker.com/get-started

docker启动mysql容器失败_docker容器
docker启动mysql容器失败_docker容器

根据操作系统,下载并安装对应的 Docker Desktop。

验证 Docker 运行状态

打开 Docker Desktop 应用并授权,稍等 1-2 分钟,状态栏会显示 Docker 图标,点击后可看到:

docker启动mysql容器失败_docker容器
docker启动mysql容器失败_docker容器

验证 Docker 状态,终端输入。

代码语言:javascript
复制
$ docker info
复制代码

结果:

代码语言:javascript
复制
Client:
 Debug Mode: false

Server:
 Containers: 0
  Running: 0
  Paused: 0
  Stopped: 0
  
...

 Product License: Community Engine
复制代码

这说明 Docker 正常运行.

启动 MySQL 容器

创建一个 Docker VolumeVolume 是用来储存状态的,这里就是用来存储数据的。如此一来,就算我们不小心移除了 MySQL 容器,数据依然会保留下来:

代码语言:javascript
复制
$ docker volume create tinylearn-vol
复制代码

启动容器:

代码语言:javascript
复制
$ docker run --name tinylearn-mysql \
	--restart=always \
	-v tinylearn-vol:/var/lib/mysql \
	-p 3306:3306 \
	-e MYSQL_ROOT_PASSWORD=my_root_password \
	-e MYSQL_DATABASE=tinylearn \
	-e MYSQL_USER=tinylearn \
	-e MYSQL_PASSWORD=my_password \
	-d mysql:8.0.18
复制代码

这里有几个环境变量,它们的值可以自行修改:

  • MYSQL_ROOT_PASSWORD – 根用户密码
  • MYSQL_DATABASE – 首次启动后创建数据库的名称
  • MYSQL_USER · MYSQL_PASSWORD – 用户名和密码

想了解更多配置细节,可以访问:hub.docker.com/_/mysql

首次启动时,由于没有 MySQL 镜像,可能需要花 10 分钟左右下载(具体时间取决于网络环境):

docker启动mysql容器失败_docker容器
docker启动mysql容器失败_docker容器

下载完毕后会自动启动容器,我们可以通过以下命令查询容器状态:

代码语言:javascript
复制
$ docker ps
复制代码

结果:

docker启动mysql容器失败_docker容器
docker启动mysql容器失败_docker容器

下一步

请参考 如何使用 MySQL Workbench 图形化工具连接数据库?

在此,我们先记下用户名和密码,他们分别是命令

代码语言:javascript
复制
$ docker run --name tinylearn-mysql \
	--restart=always \
	-v tinylearn-vol:/var/lib/mysql \
	-p 3306:3306 \
	-e MYSQL_ROOT_PASSWORD=my_root_password \
	-e MYSQL_DATABASE=tinylearn \
	-e MYSQL_USER=tinylearn \
	-e MYSQL_PASSWORD=my_password \
	-d mysql:8.0.18
复制代码

中环境变量 MYSQL_USERMYSQL_PASSWORD 对应的值,后面连接数据库时会用到。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/185637.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年10月5日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 什么是 Docker?
    • 安装 Docker Desktop
      • 验证 Docker 运行状态
        • 启动 MySQL 容器
          • 下一步
          相关产品与服务
          容器服务
          腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档