«

Docker如何创建并进入mysql容器

时间:2024-3-6 14:48     作者:韩俊     分类: Linux


这篇文章主要介绍“Docker如何创建并进入mysql容器”,在日常操作中,相信很多人在Docker如何创建并进入mysql容器问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Docker如何创建并进入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 以交互形式创建容器;

  • 指定了容器的名称,方便之后进入容器的命令行;

  • -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;

标签: linux

热门推荐