启动msyql容器
docker pull mysql #默认最新版本
docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password123 --name mysql-docker-test mysql
# -e mysql必须要的root密码,-p 服务器端口与容器端口的映射,-d 后台运行
docker ps #检查容器是否启动
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e2d8167559f3 mysql "docker-entrypoint.s…" 5 seconds ago Up 4 seconds 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp mysql-docker-test
配置阿里云允许的端口
阿里云默认没有允许MySQL的端口通过,所以需要在 工作台-网络与安全-安全组 找到相应的安全组,然后配置规则
MySQL的默认端口为3306,这里的授权对象为 0.0.0.0/0 的缺省(默认)路由,意思是:接受来自所有IP地址的访问
测试
本地连接测试与创建数据库和表
docker exec -it mysql-docker-test /bin/bash #进入容器
mysql -uroot -ppassword123
create database docker_mysql_db; #创建数据库
use docker_mysql_db;
create table docker_test_table (id int primary key auto_increment,name varchar(32) not null); #创建数据表
show tables
insert into docker_test_table value(1,"docker_test_one");
select * from docker_test_table; #查看表信息
+----+-----------------+
| id | name |
+----+-----------------+
| 1 | docker_test_one |
+----+-----------------+
1 row in set (0.00 sec)