Docker 中安装 MySQL。
sudo docker run -d -p 3307:3306
-v /home/mysql/conf:/etc/mysql/conf.d
-v /home/mysql/data:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=root
–name mysql_geek
mysql:5.7
$ sudo docker run --name some-mysql -v /my/own/datadir:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=my-secret-pw -d mysql:tag
$ sudo docker run --name mysql_geek_3307
-p 3307:3306
-v /home/geek/geek/file/docker_mysql_3307:/var/lib/mysql
-e MYSQL_ROOT_PASSWORD=root
-d mysql:5.7
查看 Docker 中可用的 MySQL 版本。
https://hub.docker.com/_/mysql?tab=tags
默认最新版本是 mysql:latest
。
也可以自己指定想要的版本。
拉取 MySQl 镜像。
docker pull mysql:5.7.29
查看本地镜像。
docker images
运行容器。
安装完成后,我们可以通过以下命令运行 MySQL 容器。
docker run -itd --name mysql_geek -p 3307:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7.29
说明。
- -p 3306:3306
映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过宿主机 IP:3306
访问到 MySQL 的服务。- -e MYSQL_ROOT_PASSWORD=root
设置 MySQL 的服务 root 用户的密码为root
。
-P:是容器内部端口随机映射到主机的高端口。
-p:是容器内部端口绑定到指定的主机端口。
另外,我们可以指定容器绑定的网络地址,比如绑定 127.0.0.1。
-p 127.0.0.1:5001:5000
-p 3307:3306
通过访问宿主机的 3307 端口映射到容器中的 3306 端口。
[root@192 ~]# vi /etc/docker/daemon.json
[root@192 ~]# systemctl restart docker
[root@192 ~]# docker pull mysql:5.7.29
5.7.29: Pulling from library/mysql
5.7.29: Pulling from library/mysql
c499e6d256d6: Pull complete
22c4cdf4ea75: Pull complete
6ff5091a5a30: Pull complete
2fd3d1af9403: Pull complete
0d9d26127d1d: Pull complete
54a67d4e7579: Pull complete
fe989230d866: Pull complete
466a91a95e2f: Pull complete
3e4554c238f1: Pull complete
603b48ead88c: Pull complete
1e86a9aa7171: Pull complete
Digest: sha256:fbaeced79cfdae5d3c8d4a8c41e883f254f72ed7428c6b93a498824b76d97121
Status: Downloaded newer image for mysql:5.7.29
docker.io/library/mysql:5.7.29
[root@192 ~]# docker run -itd --name mysql_geek -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7.29
841d16cc9175ff0e6a54bd3fb54a20657c8d37d6eb6506cbf4561454d8a911c8
访问 MySQL 服务。
mysql -h192.168.223.128:3306 -uroot -proot
:
后面为端口号。默认为 3306
,可以不写。