搜索镜像
docker search msyql
使用之前配置的脚本文件,查看镜像版本
dockertags mysql
下载镜像
docker pull mysql:5.7
创建mysql容器
sudo docker run --name mysql -p 3301:3306 -e MYSQL_ROOT_PASSWORD=admin -d mysql:5.7
需要具体解释一下:
- -p 3301:3306:将容器的3306端口映射到主机的3306端口
- -e 指定环境变量,其中MYSQL_ROOT_PASSWORD=root即初始化root用户的密码为root
- -name 即命名容器的名称为mysql
- -d 后台运行容器,并返回容器ID
- mysql:5.7 最后的mysql表明使用最新的mysql镜像,如果要指定版本,和pull命令一样,冒号:版本号。
- 上面的命令如果本地不存在mysql镜像的话,也会先pull操作的。
这样就启动了一个运行mysql的docker容器。 这里再重点解释一下端口映射:
-P 可以指定要映射的IP和端口,但是在一个指定端口上只可以绑定一个容器。支持的格式有 hostPort:containerPort、ip:hostPort:containerPort、 ip::containerPort
hostPort:containerPort
(映射所有接口地址)
将本地的 5000 端口映射到容器的 5000 端口,可以执行如下命令: $ sudo docker run -d -p 5000:5000 training/webapp python app.py
此时默认会绑定本地所有接口上的所有地址。
ip:hostPort:containerPort
(映射指定地址的指定端口) 指定映射使用一个特定地址,比如 localhost 地址 127.0.0.1$ sudo docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py
ip::containerPort
(映射指定地址的任意端口) 绑定 localhost 的任意端口到容器的 5000 端口,本地主机会自动分配一个端口。sudo docker run -d -p 127.0.0.1::5000 training/webapp python app.py
还可以使用 udp 标记来指定 udp 端口$ sudo docker run -d -p 127.0.0.1:5000:5000/udp training/webapp python app.py
查看映射端口配置 使用 docker port 来查看当前映射的端口配置,也可以查看到绑定的地址 docker port nostalgic_morse 5000
127.0.0.1:49155
使用inspect命令,加上容器名称或者id即可,可以看到IP等信息:
sudo docker inspect mysql
因为-P指定的时候没有指定监听host,所以直接使用localhost就可以进行连接:
jdbc:mysql://localhost:3301
root/admin
参考资料
文档信息
- 本文作者:Bob.Zhu
- 本文链接:https://adolphor.github.io/2019/01/02/manage-mysql-by-docker-of-macos/
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享3.0许可证)