事件:
使用windows版本的docker版本,安装完成docker后,部署mysql时候报错:
docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=Test1234 -p 3306:3306 -d mysql
docker: Error response from daemon: failed to create endpoint mysql01 on network nat: hnsCall failed in Win32: The process cannot access the file because it is being used by another process. (0x20).
分析:
The process cannot access the file because it is being used by another process
进程无法访问该文件,因为另一个进程正在使用该文件。
语句中仅指定了端口号和容器名、数据库密码
-p 3306:3306 :映射容器服务的 3306 端口到宿主机的 3306 端口,外部主机可以直接通过 宿主机ip:3306 访问到 MySQL 的服务。
MYSQL_ROOT_PASSWORD=Test1234 :设置 MySQL 服务 root 用户的密码。
盯上了端口号,果断在cmd中执行查看端口号是否被使用的命令:
netstat -ano|findstr “3306”
好吧,果然已经被自己使用了。
于是默默修改命令:
0> 停止容器运行:docker stop mysql01 - 这里没运行起来,不需要执行
1> 删除容器 : docker rm mysql01
2> 启动mysql服务:
docker run --name mysql01 -e MYSQL_ROOT_PASSWORD=Test1234 -p 3307:3306 -d mysql
happy! 运行成功~
来连接数据库试试: