1

我是 Docker 的初学者。也就是说,我注意到以下我认为有点奇怪的内容。

在控制台中执行了一个docker pull mysql/mysql-server:5.6.23之后,在我玩了一点 Docker 和他的入门教程之后,我启动了拉取的 MySQL v5.6.23(不要问我为什么这么旧的版本)容器,我意识到欢迎消息正在显示MySQL的错误版本:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.6.24 MySQL Community Server (GPL)
(...)

仍在使用 docker 命令,我发现了以下内容:

$ docker container inspect bde088053099
(...)
         "Config": {
            "Hostname": "bde088053099",
            "Domainname": "",
            "User": "",
            "AttachStdin": false,
            "AttachStdout": true,
            "AttachStderr": true,
            "ExposedPorts": {
                "3306/tcp": {}
            },
            "Tty": false,
            "OpenStdin": false,
            "StdinOnce": false,
            "Env": [
                "MYSQL_ROOT_PASSWORD=root",
                "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
                "PACKAGE_URL=https://repo.mysql.com/yum/mysql-5.6-community/docker/x86_64/mysql-community-server-minimal-5.6.24-2.el7.x86_64.rpm"
            ],
            "Cmd": [
                "mysqld"
            ],
            "Image": "mysql/mysql-server:5.6.23",
            "Volumes": {
                "/var/lib/mysql": {}
            },
            "WorkingDir": "",
            "Entrypoint": [
                "/entrypoint.sh"
            ],
            "OnBuild": null,
            "Labels": {}
        },
(...)

包 url 指向 MySQL 的下一个颠覆,而不是我的目标: "PACKAGE_URL=https://repo.mysql.com/yum/mysql-5.6-community/docker/x86_64/mysql-community-server-minimal-5.6.24-2.el7.x86_64.rpm"虽然图像名称包含正确的版本号"Image": "mysql/mysql-server:5.6.23"

4

1 回答 1

0

首先,是的,这个问题可以重现,但使用mysql/mysql-server:5.6.23,而不是mysql:5.6.23。您在帖子中的描述有冲突,请仔细检查。

接下来build script,我认为5年前的oracle团队在发布时应该有问题5.6x(例如5.6.24也不行),因为其他版本是可以的。

所以,如果你坚持使用5.6.23,我建议你切换到docker pull mysql:5.6.23哪个是好的(注意:不是 docker pull mysql/mysql-server:5.6.23):

$ docker run --name some-mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -it mysql:5.6.23 
mysql --version
mysql  Ver 14.14 Distrib 5.6.23, for Linux (x86_64) using  EditLine wrapper

最后,以上2个docker hub repo链接的区别:

它们都是官方镜像,只是mysql:5.6.23基于debian,而mysql/mysql-server:5.6.23基于oracle linux。

于 2020-12-25T02:13:14.113 回答