ubuntu使用毫秒镜像方式安装docker mysql

在Ubuntu上使用毫秒镜像服务安装Docker和MySQL,既能利用阿里云的镜像加速,又能享受Docker带来的便利。我来为你提供一个清晰的步骤指南。

🔧 安装 Docker

  1. 更新软件包索引

    在安装之前,最好先更新一下系统的软件包列表。

    bash 复制代码
    sudo apt-get update
  2. 安装 Docker

    直接通过Ubuntu的仓库安装Docker社区版。

    bash 复制代码
    sudo apt-get install docker.io

    安装完成后,建议将当前用户加入docker组,这样以后执行docker命令就不需要每次都加sudo了:

    bash 复制代码
    sudo groupadd docker  # 如果docker组已存在,此命令会提示,忽略即可
    sudo usermod -aG docker $USER

    重要: 执行完上述命令后,你需要重新登录系统或重启终端,这个组权限更改才会生效。

  3. 配置毫秒镜像Docker镜像加速器

    为了提升拉取Docker镜像的速度,建议配置毫秒容器镜像服务的加速器https://1ms.run/。

    *

    bash 复制代码
    sudo tee /etc/docker/daemon.json <<-'EOF'
    {
      "registry-mirrors": ["https://docker.1ms.run"]
    }
    EOF

    请将你的专属加速器地址替换为你实际获取到的字符串。

    • 最后,重启Docker服务使配置生效:
    bash 复制代码
    sudo systemctl daemon-reload
    sudo systemctl restart docker

🗄️ 安装并运行 MySQL

  1. 拉取 MySQL 镜像

    这里以MySQL 8.0版本为例。

    bash 复制代码
    docker pull mysql:8.0
  2. 运行 MySQL 容器

    使用docker run命令启动一个MySQL容器。下面是一个常用命令示例:

    bash 复制代码
    docker run --name my-mysql -e MYSQL_ROOT_PASSWORD=你的root密码 -p 3306:3306 -d mysql:8.0

    命令参数说明:

    • --name my-mysql: 为容器指定一个名字,这里叫my-mysql,你可以自定义。
    • -e MYSQL_ROOT_PASSWORD=你的root密码: 设置环境变量,用于配置MySQL的root用户密码。请务必替换为你的强密码
    • -p 3306:3306: 将容器的3306端口映射到主机的3306端口,这样你才能从主机连接数据库。
    • -d: 让容器在后台运行。
    • mysql:8.0: 指定使用的镜像。
  3. 验证 MySQL 容器

    检查容器是否在运行:

    bash 复制代码
    docker ps

    如果看到名为my-mysql的容器状态为"Up",说明运行成功。

💾 数据持久化与配置(可选但建议)

默认情况下,当容器删除时,其中的数据也会丢失。为了持久化保存MySQL数据,可以使用数据卷(Volume)将容器内的数据目录映射到宿主机。

bash 复制代码
# 先停止并删除之前创建的容器(如果不需要原有数据)
docker stop my-mysql
docker rm my-mysql

# 创建用于存储数据的目录
mkdir -p /usr/local/app/mysql/data

# 重新运行容器,并挂载数据目录
docker run --name my-mysql \
  -e MYSQL_ROOT_PASSWORD=你的root密码 \
  -p 3306:3306 \
  -v /usr/local/app/mysql/data:/var/lib/mysql \
  -d mysql:8.0

参数-v /usr/local/app/mysql/data:/var/lib/mysql将主机上的目录挂载到容器内的MySQL数据目录。

🔗 连接 MySQL

  1. 进入容器内部连接
    你可以直接进入容器内部操作MySQL:

    bash 复制代码
    docker exec -it my-mysql bash

    然后在容器内部使用mysql命令行客户端连接:

    bash 复制代码
    mysql -u root -p

    输入你之前设置的密码即可。

  2. 使用主机链接
    方法一:使用 docker exec 直接连接 MySQL
    docker exec -it my-mysql mysql -u root -p

方法二:如果知道密码,可以直接连接

docker exec -it my-mysql mysql -u root -p123456

方法三:从主机网络连接(如果端口映射正常)

mysql -h 127.0.0.1 -P 3306 -u root -p

📝 基本容器管理命令

这里是一些你可能会用到的常用命令:

命令 作用
docker stop my-mysql 停止正在运行的MySQL容器
docker start my-mysql 启动已停止的MySQL容器
docker restart my-mysql 重启MySQL容器
docker rm my-mysql 删除已停止的MySQL容器

希望这份指南能帮助你在Ubuntu上顺利使用阿里云配置Docker和MySQL。如果在安装过程中遇到网络问题,请确保你的阿里云服务器安全组规则已开放相应端口(如3306)。如果你还想了解如何配置MySQL的配置文件,或者设置自定义字符集,我可以再进一步为你介绍。

相关推荐
努力努力再努力wz12 小时前
【Docker 入门系列】:从 Namespace、CGroup 到 LXC:理解容器运行时、rootfs 与 LXC 实战
运维·docker·容器
Wang's Blog12 小时前
Java框架快速入门: Spring Security+OAuth2之短信服务多供应商动态切换(阿里云与LeanCloud)
java·spring·阿里云
JavaPub-rodert13 小时前
Docker 多阶段构建:为什么生产环境镜像可以小 90%
运维·docker·容器
qq_3494479513 小时前
阿里云centos7.9系统安装jenkins
服务器·阿里云·jenkins
PC2005-cloud15 小时前
Qdrant 连接失败排查:localhost 解析到 __1,而 Docker 只绑了 IPv4
运维·docker·容器
喵喵爱自由15 小时前
Deepseek Harness镜像离线部署
docker·ai·语言模型
一技安身15 小时前
【信创】Ollama 手动提取 deepseek-r1:1.5b模型迁移到内网机器
服务器·docker·语言模型
程序员老赵16 小时前
Docker 部署觅思文档:搭建私有化文档管理系统
docker·开源·笔记测评
Meta3918 小时前
cenots8安装docker
docker·容器·centos
努力努力再努力wz18 小时前
【Docker入门系列】从 LXC 到 containerd:一文梳理 Docker 容器运行时架构演进与轻量化原理
docker·eureka·架构