实现一个 docker 内使用 mysql 镜像
首先预习一下docker命令
- docker images
列出本地主机上的镜像。
- docker pull
从Docker Hub中拉取或者更新指定镜像。
- docker run
-d 标识是让 docker 容器在后台运行。
-p 标识通知 Docker 将容器内部使用的网络端口映射到我们使用的主机上。
--name 定义一个容器的名字,如果在执行docker run时没有指定Name,那么deamon会自动生成一个随机数字符串当做UUID。
例如:docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -dmysql/mysql-server:latest
4.docker ps
-a 查看已经创建的容器
-s 查看已经启动的容器
5.docker start XX
启动容器名为XX的容器
6.docker stop XX
停止容器名为XX的容器
7.docker rm XX
删除容器名为XX的容器
8.docker rmi XX
删除镜像名为XX的镜像
9.docker rename old_XX new_XX
重命名一个容器
开始实战
- 开始拉取mysql 镜像
docker pull mysql/mysql-server:latest
- 查看镜像:
REPOSITORY TAG IMAGES ID CREATED SIZE
mysql/mysql-sever lastest 190154079ff8 1 days ago 310.5 MB
- 创建一个容器
docker run --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=password -d mysql/mysql-server:latest
- 查看已创建的容器
docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f5c726aee6cf mysql "docker-entrypoint.s…" 4 months ago Exited (255) 4 months ago 0.0.0.0:3308->3306/tcp mysql
- 查看正在运行的容器
docker ps -s
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE
此时没有运行中的容器
- 启动容器
f5c726aee6cf为CONTAINER ID
docker start f5c726aee6cf
再一次执行docker ps -s命令
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES SIZE
f5c726aee6cf mysql "docker-entrypoint.s…" 4 months ago Up 5 seconds 0.0.0.0:3308->3306/tcp mysql 7B (virtual 445MB)
- 连接Mysql数据库
使用数据库管理工具(dataGrip/navicat 等)
获取宿主机的IP 端口地址 设置的用户名 密码 测试链接
- docker下命令行连接
1> 首先,进入CMD执行下列命令
docker exec -it f5c726aee6cf bash
2> 然后,输入下面命令,并输入密码password
mysql -uroot -p -h localhost