【README】

本文记录了 centos8 安装,启动mysql8的docker容器的步骤;


【1】安装mysql8 docker容器

步骤1, 查看mysql8 docker镜像版本 ;

最简单的方式是上  Docker Hubhttps://hub.docker.com/直接搜索mysql,查看其 tag,如下:

步骤2,下载 mysql:8.0.26 版本镜像;

# 查看本地所有镜像
[root@centos204 ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
tomcat        latest    4ce9babdd885   2 days ago    680MB
hello-world   latest    feb5d9fea6a5   3 weeks ago   13.3kB# 下载 mysql 8.0.26 镜像
[root@centos204 ~]# docker pull mysql:8.0.26
8.0.26: Pulling from library/mysql
b380bbd43752: Pull complete
f23cbf2ecc5d: Pull complete
30cfc6c29c0a: Pull complete
b38609286cbe: Pull complete
8211d9e66cd6: Pull complete
2313f9eeca4a: Pull complete
7eb487d00da0: Pull complete
a5d2b117a938: Pull complete
1f6cb474cd1c: Pull complete
896b3fd2ab07: Pull complete
532e67ebb376: Pull complete
233c7958b33f: Pull complete
Digest: sha256:5d52dc010398db422949f079c76e98f6b62230e5b59c0bf7582409d2c85abacb
Status: Downloaded newer image for mysql:8.0.26
docker.io/library/mysql:8.0.26# 查看本地所有镜像
[root@centos204 ~]#
[root@centos204 ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED       SIZE
tomcat        latest    4ce9babdd885   2 days ago    680MB
mysql         8.0.26    9da615fced53   2 days ago    514MB
hello-world   latest    feb5d9fea6a5   3 weeks ago   13.3kB
[root@centos204 ~]# 

步骤3,启动mysql容器

# 启动mysql容器
[root@centos204 ~]# docker run -d --name mysql01 mysql:8.0.26
9c44ea82b1507e6bce54b69a786066ae56cb95c36411efa1cee4695e6c39525f# 查看容器列表 ,exited 表示启动失败;或未启动
[root@centos204 ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS                       PORTS                                       NAMES
9c44ea82b150   mysql:8.0.26   "docker-entrypoint.s…"   12 seconds ago   Exited (1) 4 seconds ago                                                 mysql01
99e3813639c8   tomcat         "catalina.sh run"        11 hours ago     Exited (255) 2 minutes ago   0.0.0.0:8886->8080/tcp, :::8886->8080/tcp   naughty_maxwell
e7f01a261ee8   tomcat         "catalina.sh run"        11 hours ago     Exited (255) 2 minutes ago   0.0.0.0:8887->8080/tcp, :::8887->8080/tcp   beautiful_proskuriakova
0b1be1a3dcd2   tomcat         "catalina.sh run"        11 hours ago     Exited (255) 2 minutes ago   0.0.0.0:8888->8080/tcp, :::8888->8080/tcp   modest_heyrovsky
0a5b713c0021   hello-world    "/hello"                 35 hours ago     Exited (0) 35 hours ago                                                  frosty_turing# 查看mysql容器日志
[root@centos204 ~]# docker logs 9c44ea82b150
2021-10-16 01:33:47+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.26-1debian10 started.
2021-10-16 01:33:51+00:00 [Note] [Entrypoint]: Switching to dedicated user 'mysql'
2021-10-16 01:33:51+00:00 [Note] [Entrypoint]: Entrypoint script for MySQL Server 8.0.26-1debian10 started.
# 报错原因
2021-10-16 01:33:51+00:00 [ERROR] [Entrypoint]: Database is uninitialized and password option is not specifiedYou need to specify one of the following:- MYSQL_ROOT_PASSWORD- MYSQL_ALLOW_EMPTY_PASSWORD- MYSQL_RANDOM_ROOT_PASSWORD
[root@centos204 ~]#

步骤4,指定mysql密码为 root,账号默认为root;

# 重新启动mysql docker容器,设置端口映射,密码
[root@centos204 ~]# docker run --name mysql01 -p 3306:3306  -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.26
720f23458abfdfafa93707e83f1cbb2ff085eb47d68c91d43088b0da7db97923# 查看所有docker容器
[root@centos204 ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS                        PORTS                                                  NAMES
720f23458abf   mysql:8.0.26   "docker-entrypoint.s…"   49 seconds ago   Up 45 seconds                 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql01
99e3813639c8   tomcat         "catalina.sh run"        11 hours ago     Exited (255) 17 minutes ago   0.0.0.0:8886->8080/tcp, :::8886->8080/tcp              naughty_maxwell
e7f01a261ee8   tomcat         "catalina.sh run"        11 hours ago     Exited (255) 17 minutes ago   0.0.0.0:8887->8080/tcp, :::8887->8080/tcp              beautiful_proskuriakova
0b1be1a3dcd2   tomcat         "catalina.sh run"        12 hours ago     Exited (255) 17 minutes ago   0.0.0.0:8888->8080/tcp, :::8888->8080/tcp              modest_heyrovsky
0a5b713c0021   hello-world    "/hello"                 35 hours ago     Exited (0) 35 hours ago                                                              frosty_turing
[root@centos204 ~]# 

步骤5,开放3306防火墙访问端口

# 开放3306防火墙访问端口
[root@centos204 ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent
success
[root@centos204 ~]# firewall-cmd --reload
success
[root@centos204 ~]# firewall-cmd --zone=public --list-ports
8888/tcp 8887/tcp 8886/tcp 3306/tcp

步骤6, 通过dbeaver连接 192.168.163.204:3306


【2】 启动多个mysql-docker容器

步骤1,开启2个mysql-docker容器,端口为3302 3303;

并设置mysql服务器参数, 参考了 https://hub.docker.com/_/mysql?tab=description

[root@centos204 ~]# docker run --name mysql02 -p 3302:3306  -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.26 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
3d4caede6869e33e6cd1d267ed80cbc4f89faab8288b64c4b17d5ef40005e91d
[root@centos204 ~]# docker run --name mysql03 -p 3303:3306  -e MYSQL_ROOT_PASSWORD=root -d mysql:8.0.26 --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
13132c9e47f35aeaf9e6cc9567a72f9d41850ad42deeb294c4a98ef2e9094034# 查看所有mysql-docker容器
[root@centos204 ~]# docker ps -a
CONTAINER ID   IMAGE          COMMAND                  CREATED          STATUS                        PORTS                                                  NAMES
13132c9e47f3   mysql:8.0.26   "docker-entrypoint.s…"   2 minutes ago    Up About a minute             33060/tcp, 0.0.0.0:3303->3306/tcp, :::3303->3306/tcp   mysql03
3d4caede6869   mysql:8.0.26   "docker-entrypoint.s…"   3 minutes ago    Up 3 minutes                  33060/tcp, 0.0.0.0:3302->3306/tcp, :::3302->3306/tcp   mysql02
720f23458abf   mysql:8.0.26   "docker-entrypoint.s…"   39 minutes ago   Up 39 minutes                 0.0.0.0:3306->3306/tcp, :::3306->3306/tcp, 33060/tcp   mysql01

步骤2, 开通3302 3303 防火墙网络权限 ;

# 开通3302 3303 端口
[root@centos204 ~]# firewall-cmd --zone=public --add-port=3302/tcp --permanent
success
[root@centos204 ~]# firewall-cmd --zone=public --add-port=3303/tcp --permanent
success[root@centos204 ~]# firewall-cmd --reload
success
[root@centos204 ~]# firewall-cmd --zone=public --list-ports
8888/tcp 8887/tcp 8886/tcp 3306/tcp 3302/tcp 3303/tcp
[root@centos204 ~]# 

步骤3, win10的dbeaver 测试结果;

【补充】

更多mysql-docker容器启动参数,refer2 Docker Hub

centos8启动docker-mysql8容器相关推荐

  1. centos8上docker tomcat容器访问报404解决方法

    目录 [README] [1]docker安装tomcat [2]启动多个tomcat容器 [README] 1.本文记录了 访问docker tomcat容器报404的解决方法: 2.附带安装tom ...

  2. Linux中启动Docker容器报错:Error response from daemon: driver failed programming external connectivity

    在启动Docker的容器时,会出现报错:Error response from daemon: driver failed programming external connectivity on e ...

  3. centos8怎么启动docker

    centos8启动docker的方法: 在centos8中安装docker后直接使用systemctl start docker命令即可启动docker. centos8安装docker的步骤: 1. ...

  4. docker server 容器连接sql_Docker使用指南

    一.Docker安装 在Ubuntu系统下安装: apt-get install docker 在Fedora/CentOS系统下安装: yum install docker dnf install ...

  5. docker镜像容器的创建删除

    目录 1. Docker是什么? 2. CentOS7用阿里云Docker Yum源在线安装Docker 3. 镜像 3.1 配置加速器 3.2 搜索镜像 3.3 下载镜像 3.4 查看宿主机上的镜像 ...

  6. docker配置容器mysql启动参数_修改Docker容器启动配置参数

    有时候,我们创建容器时忘了添加参数 --restart=always ,当 Docker 重启时,容器未能自动启动, 现在要添加该参数怎么办呢,方法有二: 1.Docker 命令修改 docker c ...

  7. docker 启动容器_crontab入门二:定时启动docker容器并启动容器内部脚本

    在寻梦:crontab入门一:crontab定时启动docker容器里面详细的描述了关于如果利用crontab重启docker容器,如果不太熟悉的同学麻烦先去看 寻梦:crontab入门一:cront ...

  8. 启动docker容器时报错:iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 5000 -j DNAT -

    启动docker容器时报错: iptables failed: iptables --wait -t nat -A DOCKER -p tcp -d 0/0 --dport 5000 -j DNAT ...

  9. 启动 docker 容器报错 (iptables failed: iptables --wait -t filter -A DOCKER ! -i docker0 -o docker0

    前言 centos7 phpstudy 1.2 linux 版 启动 docker 容器报错 shell> docker start nexus3 Error response from dae ...

  10. windows 2008 开机启动 Docker Toolbox 并运行容器

    新建 docker-startup.bat @echo offREM Set the name of the VM configuration where dockerd will be hosted ...

最新文章

  1. 9款超赞的AI开源项目!| 本周Github精选
  2. Typora 快捷键
  3. java 二维数组_Java中二维数组和异常的内容及应用
  4. instanceof封装
  5. Linux线程池的设计
  6. 对官方Mutexes的翻译
  7. boost.asio基础篇 小白入门注解
  8. windows查看端口占用指令
  9. Kubernetes核心技术--Pod,Label,Volume,Service,Deployment详解
  10. Java集合系列总结
  11. 十大排序算法----堆排序(最后一个非叶子节点的序号是n/2-1的推理)
  12. 学习笔记12-SG90舵机
  13. 请完成汇率和金额排序程序。(100分)题目内容: 在国际机场,我们会发现有多个货币兑换的窗口,这是由于各国货币的单位价值是不一样的。下面列出了某日国际货币的汇率表(相对于100人民币的各国货币值)。
  14. excel2010将数字变成以文本存储的数字
  15. JQuery- JQuery学习
  16. Screen Wonders for Mac (3D动态视频壁纸) v1.9.1
  17. [转]emacs自动备份
  18. Jmeter接口测试参数化详解
  19. JQuery是什么?怎么使用JQ?
  20. 风影ASP.NET基础教学 7用户控件编程

热门文章

  1. AC自动机:例题与机制详解
  2. P7294-[USACO21JAN]Minimum Cost Paths P【单调栈】
  3. P5319-[BJOI2019]奥术神杖【0/1分数规划,AC自动机,dp】
  4. P4296-[AHOI2007]密码箱【数论】
  5. jzoj4672-Graph Coloring【图论,模拟】
  6. P1494-[国家集训队]小Z的袜子【分块优化莫队】
  7. P1525-关押罪犯【并查集】
  8. 【交互】【随机】Lost Root(CF1061F)
  9. Codeforces1142D
  10. 19、java中枚举