【云原生】Docker之创建并进入mysql容器

本文涉及的产品
容器镜像服务 ACR,镜像仓库100个 不限时长
简介: 本文主要讲解的是创建mysql的容器,大家都知道,在外面进入mysql都很容易,“mysql -u用户名 -p密码”就可以,但是是容器的mysql就没那么好进入了,首先还要拉取镜像,创建容器,在进入容器,然后才可以进入mysql;其实也没有那么难,而且比在宿主机装一个mysql简便了很多,也省去了很多时间,比如,宿主机上mysql还要编译,容器就不用,但是最难的一点就是如何去创建容器呢,他和普通的创建容器是不一样的,所以,今天给大家讲讲创建mysql容易,并进入、创建库和表;

在这里插入图片描述

前言

  本文主要讲解的是创建mysql的容器,大家都知道,在外面进入mysql都很容易,“mysql -u用户名 -p密码”就可以,但是是容器的mysql就没那么好进入了,首先还要拉取镜像,创建容器,在进入容器,然后才可以进入mysql;其实也没有那么难,而且比在宿主机装一个mysql简便了很多,也省去了很多时间,比如,宿主机上mysql还要编译,容器就不用,但是最难的一点就是如何去创建容器呢,他和普通的创建容器是不一样的,所以,今天给大家讲讲创建mysql容易,并进入、创建库和表;

拉取镜像

如需要哪个mysql版本可以在后面直接写,比如我需要mysql:5.7.38的,就直接拉取5.7.38的镜像;如果需要默认的mysql,那么直接拉取mysql就好,默认的应该是最新的版本;

[root@localhost ~]# docker pull mysql:5.7.38
5.7.38: Pulling from library/mysql
66fb34780033: Pull complete 
ef4ccd63cdb4: Pull complete 
d6f28a94c51f: Pull complete 
7feea2a503b5: Pull complete 
71dd5852ecd9: Pull complete 
3da2c95cac2f: Pull complete 
af7913db289c: Pull complete 
77f552f93c12: Pull complete 
3ed53edb61ab: Pull complete 
67e1c6839f08: Pull complete 
abcdaaf08d0f: Pull complete 
Digest: sha256:bbe0e2b0a33ef5c3a983e490dcb3c1a42d623db1d5679e82f65cce3f32c8f254
Status: Downloaded newer image for mysql:5.7.38
docker.io/library/mysql:5.7.38

拉取完镜像查看一下:

docker images

在这里插入图片描述

接下来就是这一环节中最重要的一点了,创建容器;

创建容器

创建mysql容器,在后台启动mysql容器

  • -it     以交互形式创建容器;
  • --name  指定了容器的名称,方便之后进入容器的命令行;
  • -p     指定映射端口,如果遇到端口被占用,可以使用其他端口比如3333:3306;就可以;
  • -e MYSQL_ROOT_PASSWORD=123123   直接就指定了mysql的root密码;
  • -d         表示在后台运行;
  • mysql:3.7.38    代表的你用的哪个镜像
  • 如果需要做数据映射,可以加个-v参数,-v 宿主机路径,容器内路径;
  • 容器内 mysql数据文件目录: /var/lib/mysql/
  • 容器内 mysql配置文件目录: /etc/mysql/

需要哪个可自行选择,建议使用第三个:
  因为第三种数据和配置文件都可以做到同步,要拿数据的话,可以直接在宿主机映射的目录拿就可以了;

docker run -it --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123123 -d mysql:5.7.38

#mysql默认版本的创建;就是最后不要:5.7.38了,其他都一样;
docker run -it --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123123 -d mysql

#加数据映射的容器创建;设置开机自启
docker run -itd --name mysql --restart=always --privileged -p 3306:3306 -v /var/lib/mysql/my.cnf:/etc/mysql/my.cnf -v /var/lib/mysql/data:/var/lib/mysql/data/ -v /etc/localtime/:/etc/localtime/ -e MYSQL_ROOT_PASSWORD=123123 mysql:5.7.38

这样容器就创建完成了;创建完查看一下容器;

docker ps -a

在这里插入图片描述

进入mysql容器

docker exec -it mysql bash

登录mysql

mysql -uroot -p123123

创建数据库

#首先查看一下数据库
show databases;

#创建数据库
create database cs;

#再次查看是否创建成功;
show databases;

在这里插入图片描述

创建表

#进入刚刚创建的库
use cs;

#查看表,里面是空的目前
show tables;

#创建表
create table biaoone(id int,name varchar(20),age int);

#查看表,现在是有一个的
show tables

#查看表机构
desc biaoone;

在这里插入图片描述

相关文章

Centos7安装Mysql5.7(超详细版)


【云原生】Docker之创建并进入mysql容器

在这里插入图片描述

相关实践学习
基于CentOS快速搭建LAMP环境
本教程介绍如何搭建LAMP环境,其中LAMP分别代表Linux、Apache、MySQL和PHP。
全面了解阿里云能为你做什么
阿里云在全球各地部署高效节能的绿色数据中心,利用清洁计算为万物互联的新世界提供源源不断的能源动力,目前开服的区域包括中国(华北、华东、华南、香港)、新加坡、美国(美东、美西)、欧洲、中东、澳大利亚、日本。目前阿里云的产品涵盖弹性计算、数据库、存储与CDN、分析与搜索、云通信、网络、管理与监控、应用服务、互联网中间件、移动服务、视频服务等。通过本课程,来了解阿里云能够为你的业务带来哪些帮助     相关的阿里云产品:云服务器ECS 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率,使您更专注于核心业务创新。产品详情: https://www.aliyun.com/product/ecs
目录
相关文章
|
1天前
|
存储 运维 监控
构建高效稳定的Docker容器监控体系
【4月更文挑战第18天】 在现代微服务架构中,Docker容器已成为部署和运行应用的标准环境。随之而来的挑战是如何有效监控这些容器的性能与健康状况,确保系统的稳定性和可靠性。本文将探讨构建一个高效稳定的Docker容器监控体系的关键技术和方法,包括日志管理、性能指标收集以及异常检测机制,旨在为运维人员提供实用的指导和建议。
7 0
|
7天前
|
关系型数据库 MySQL 数据库
Docker安装MySQL
Docker安装MySQL
14 1
|
10天前
|
Linux Docker 容器
docker 容器常用命令
docker 容器常用命令
12 0
|
10天前
|
关系型数据库 MySQL 数据库
docker自定义安装mysql 5.7
docker自定义安装mysql 5.7
19 0
|
10天前
|
Linux Shell 虚拟化
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
linux 部署docker容器虚拟化平台(二)--------docker 镜像制作方法
15 0
|
10天前
|
存储 Linux Shell
centos 部署docker容器 安装 、基本使用方法(一)
centos 部署docker容器 安装 、基本使用方法(一)
19 0
|
18天前
|
Kubernetes 网络协议 Docker
Docker 容器的DNS
Docker 容器的DNS
23 1
|
21天前
|
关系型数据库 MySQL Nacos
【深入浅出Nacos原理及调优】「实战开发专题」采用Docker容器进行部署和搭建Nacos服务以及“坑点”
【深入浅出Nacos原理及调优】「实战开发专题」采用Docker容器进行部署和搭建Nacos服务以及“坑点”
45 1
|
4月前
|
关系型数据库 MySQL 数据库
使用 Docker 安装 MySQL 8
使用 Docker 安装 MySQL 8
243 3
|
1月前
|
NoSQL 关系型数据库 MySQL
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
Docker安装详细步骤及相关环境安装配置(mysql、jdk、redis、自己的私有仓库Gitlab 、C和C++环境以及Nginx服务代理)
195 0