最近使用阿里云服务器,学习一下Docker,今天学着使用Docker安装MySQL。
首先,从阿里云的Docker Hub 上pull一个MySQL的image.
[centos@loovelj~]$ docker pull registry.cn-hangzhou.aliyuncs.com/acs-sample/mysql:5.7 5.7: Pulling from acs-sample/mysql d4bce7fd68df: Pull complete a3ed95caeb02: Pull complete 01588229585e: Pull complete ada32b818a1a: Pull complete ac7528e308ac: Pull complete 44e3fb8779c7: Pull complete bfcca86efc6a: Pull complete 32da415dff2e: Pull complete aae6d9712a36: Pull complete 3148136ce9cc: Pull complete Digest: sha256:32ff2f404c3bd199aaec2e6d19d91d59673e40d7394732124f91dd72a2e1ed97 Status: Downloaded newer image for registry.cn-hangzhou.aliyuncs.com/acs-sample/mysql:5.7
查看下载镜像,就会看到已经有了
[centos@loovelj~]$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE test/ubuntu v1.0 523e7db0e264 11 minutes ago 98.3MB ubuntu latest dd6f76d9cc90 7 days ago 122MB hello-world latest 725dcfab7d63 8 days ago 1.84kB registry.cn-hangzhou.aliyuncs.com/acs-sample/mysql 5.7 ec7e75e5260c 23 months ago 360MB
名字太长,修改为短的tag
[centos@loovelj~]$ docker tag registry.cn-hangzhou.aliyuncs.com/acs-sample/mysql:5.7 mysql:5.7 [centos@loovelj~]$ docker images REPOSITORY TAG IMAGE ID CREATED SIZE test/ubuntu v1.0 523e7db0e264 12 minutes ago 98.3MB ubuntu latest dd6f76d9cc90 7 days ago 122MB hello-world latest 725dcfab7d63 8 days ago 1.84kB mysql 5.7 ec7e75e5260c 23 months ago 360MB registry.cn-hangzhou.aliyuncs.com/acs-sample/mysql 5.7 ec7e75e5260c 23 months ago 360MB
根据镜像创建容器
[centos@loovelj~]$ docker create -it mysql:5.7 62c975b37ad25b03914eb61e05088019f37ff9cb049a682ac02f20fac1761a4d
启动MySQL容器
[centos@loovelj~]$ docker run --name mysqlserver -e MYSQL_ROOT_PASSWORD=sgcc -d -i -p 3306:3306 mysql:5.7 2a7a85124400be6fd47e0d97cf5d602456b1db1a11c6331747fe662481eea537 [centos@loovelj~]$ docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 2a7a85124400 mysql:5.7 "/entrypoint.sh my..." 9 seconds ago Up 8 seconds 0.0.0.0:3306->3306/tcp mysqlserver 188099665d1e ubuntu:latest "/bin/bash" 23 hours ago Up 23 hours angry_spence
进入MySQL终端
[centos@liujun ~]$ docker exec -it 2a7a85124400 /bin/bash root@2a7a85124400:/# mysql -h 127.0.0.1 -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 2 Server version: 5.7.9 MySQL Community Server (GPL) Copyright (c) 2000, 2015, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
3.访问Mysql数据库
由于我们在上面使用了-p参数映射了容器的3306端口到宿主机的3306端口,此时我们可以直接访问宿主机的3306端口来访问Docker中的mysql服务
mysql -h 127.0.0.1 -u root -p
其中,mysql 报错,我就在本机重新安装mysql,参照阿里云教程。
但是启动mysql时报错
[root@loovelj support-files]# /etc/init.d/mysqld start Starting MySQL...The server quit without updating PID file [FAILED]cal/mysql/data/liujun.pid).
经过查询,发现已经有一个运行的mysql。关闭后再重启
[root@liujun support-files]# ps -ef|grep mysqld root 10803 9758 0 13:26 pts/0 00:00:00 grep --color=auto mysqld [root@liujun support-files]# kill -9 10803 bash: kill: (10803) - No such process [root@liujun support-files]# kill -9 9758 Killed [root@liujun mysql]# /etc/init.d/mysqld start Starting MySQL.
再执行mysql时,发现还是报错,查询原因是启动项不在/usr/bin下面。
ln -s /usr/local/mysql/bin/mysql /usr/bin 做个链接即可
后来发现环境变量修改了,但是好像没有保存好,mysqladmin 命令还是不能用,所以又重新保存环境变量
[centos@liujun ~]$ vim ~/.bash_profile #PATH=$PATH:$HOME/bin:/usr/local/apache/bin
#添加以下列
PATH=$PATH:$HOME/bin:/usr/local/mysql/bin:/usr/local/mysql/lib #:wq 保存退出 [centos@liujun ~]$ source ~/.bash_profile
再次运行(第二天再次尝试的,上次的容器已经退出了)docker run
[centos@liujun ~]$ docker run --name mysqlserver -e MYSQL_ROOT_PASSWORD=sgcc -d -i -p 3306:3306 mysql:5.7 0cc2009d1d367903a0d4e47a6e69af1bc41e409e194a231b6dd1193cc27bf716 docker: Error response from daemon: driver failed programming external connectivity on endpoint mysqlserver (4e7ecdbc87918be626ac8920214ed76386784c83b572f5cd5d3ff0d46d453bb6): Error starting userland proxy: listen tcp 0.0.0.0:3306: bind: address already in use.
发现已经存在这个容器,只好删除了重新建立容器
[centos@liujun ~]$ docker rm mysqlserver mysqlserver [centos@liujun ~]$ docker run --name mysqlserver -e MYSQL_ROOT_PASSWORD=sgcc -d -i -p 3306:3306 mysql:5.7 9455dbd9c9128e51eee84c29d356fb5dff8d31762179ec2585c563ead08ad413
按照教程,通过mysql 远程连接就好了,但是说端口已经占有,估计是自己的mysql打开了,关闭本机的mysql
[centos@liujun ~]$ docker run --name mysqlserver -e MYSQL_ROOT_PASSWORD=sgcc -d -i -p 3306:3306 mysql:5.7 0cc2009d1d367903a0d4e47a6e69af1bc41e409e194a231b6dd1193cc27bf716 docker: Error response from daemon: driver failed programming external connectivity on endpoint mysqlserver
(4e7ecdbc87918be626ac8920214ed76386784c83b572f5cd5d3ff0d46d453bb6): Error starting userland proxy: listen tcp 0.0.0.0:3306: bind: address already in use.
[centos@liujun ~]$ sudo /etc/init.d/mysql stop [sudo] password for centos: sudo: /etc/init.d/mysql: command not found [centos@liujun ~]$ sudo /etc/init.d/mysqld stop Shutting down MySQL.. [ OK ]
最后再执行连接
[centos@liujun ~]$ mysql -h 127.0.0.1 -u root -p Enter password: Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 5.7.9 MySQL Community Server (GPL) Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and/or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or '\h' for help. Type '\c' to clear the current input statement. mysql>
成功!
相关推荐
使用Docker安装MySQL以及MybatisPlus的入门 本文将向您介绍使用Docker安装MySQL,以及MybatisPlus的入门搭建后台服务系统实现新增房源服务前后端进行整合,实现新增房源功能。 标题解释 使用Docker安装MySQL以及...
一、Docker安装MySQL 8 Docker安装MySQL 8主要涉及拉取官方镜像、运行容器并进行一系列自定义配置。 二、自定义设置 存储路径:通过Docker的卷(volume)功能,可以将宿主机的目录挂载到容器内的指定路径。 端口:在...
docker安装mysql8.0.33:包含修改加密规则及修改时区等
在本文中,我们将探讨如何使用Docker安装MySQL和Apache SkyWalking。Docker是一个流行的容器化平台,它允许我们在隔离的环境中轻松部署和管理应用程序及其依赖项。以下是对标题和描述中涉及步骤的详细解释。 首先,...
Docker安装MySQL5.6安装手册
vagrant 安装docker docker 安装mysql 、redis、kafka、 自启动
docker安装mysql镜像
我们将从基础知识开始,逐步讲解如何使用 Docker 安装 MySQL,创建 MySQL 服务器实例,使用自定义配置文件,并了解 stack 部署 MySQL。 一、Docker 安装 MySQL 在安装前,需要先访问 Docker 官网查看 MySQL 的版本...
Docker 离线安装 MySQL 5.7 使用说明 本文将指导你如何使用离线的 Docker 镜像包 (docker-mysql-5.7.tar.zip) 来在 Linux 系统中安装并运行 MySQL 5.7 容器。 前提条件 • 已安装 Docker 环境。 • MySQL 5.7 ...
docker离线安装MySQL镜像
docker离线安装mysql.tar包
Docker 安装 配置阿里云镜像加速器 Docker 安装 MySQL5.7.30 Docker安装MySQL主从配置
docker 安装mysql主从
使用Docker建立Mysql集群使用Docker建立Mysql集群使用Docker建立Mysql集群使用Docker建立Mysql集群
docker离线安装mysql镜像文件,并附带docker加载配置流程,服务器在无网络情况下即可轻松部署mysql服务。
mysql.zip docker 安装mysql的映射文件
MySQL安装教程(附带docker安装教程)MySQL安装教程(附带docker安装教程)MySQL安装教程(附带docker安装教程)MySQL安装教程(附带docker安装教程)MySQL安装教程(附带docker安装教程)MySQL安装教程(附带docker...
docker镜像mysql:8.0,离线加载包 放到这里方便大家使用 亲测这个mysql镜像非常好用 加载方式为 docker load -i mysql.tar 非常方便
Docker 部署 MySQL 8 是一种流行的方法来部署 MySQL 数据库,使用 Docker 可以轻松地部署和管理 MySQL 数据库。下面是 Docker 部署 MySQL 8 的详细教程。 前置需求 在部署 MySQL 8 之前,需要满足以下前置要求: ...