admin管理员组

文章数量:1544070

介绍:Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。通过本文可以学习到如何本地连接docker中的mysql。

  • mac

第一步:安装docker

1、官网安装

https://www.docker/get-started/https://www.docker/get-started/2、homebrew 安装

brew install --cask --appdir=/Applications docker
#安装好后输入 检查是否安装成功   结果如下成功
docker -v

第二步:拉取镜像

 1、输入 docker images               查看本地镜像,如图1 为空。

2、输入 docker seach mysql        查找mysql可用镜像如图2。

3、输入 docker pull mysql:latest   拉取mysql,如图3。

4、输入 docker images                 检查镜像 可查看到多了一个mysql,如图4。

图1
图2
图3
图4

第三步:启动容器

docker run -itd --name mysql-docker -p 33060:3306 -e MYSQL_ROOT_PASSWORD=root mysql

 docker run: 启动容器。

 -itd :后台启动虚拟交互窗口。

--name : 启动容器名字 后续可以通过其停止容器运行

-p  33060:3306:将主机机器上的端口 33060映射到容器上的端口 3306。可以使用本机上的端口 33060 连接到容器中的 MySQL 服务器

-e MYSQL_ROOT_PASSWORD=root : 设置环境变量,设置容器内mysql服务器的密码为root。

mysql:这是要使用的 Docker 镜像的名称,从这个镜像创建容器。

第四步:测试连接

1、终端连接: 注意这里不要使用 localhost ,使用 127.0.0.1, 输入密码 root

mysql -h 127.0.0.1  -P 33060 -u root -p 

2、第三方工具连接:这边可以用localhost


  •  Window (10以上)

第一步:安装docker

Install Docker Desktop on Windows | Docker DocsGet started with Docker for Windows. This guide covers system requirements, where to download, and instructions on how to install and update.https://docs.docker/desktop/install/windows-install/

安装好,双击鲸鱼小图标打开应用,可能需要先登录 ,完成后输入  docker -v   检查版本   docker images  检查镜像 

第二步:拉取镜像

拉去镜像前先输入 docker search mysql  查找mysql镜像源 ,输入 docker pull mysql 将mysql镜像拉取至本地,下载成功后输入 docker images 查看本地镜像 多了一个mysql ,成功

第三步:启动mysql容器

## mac处有解释  
## 将本地的33060的端口映射到容器的3306端口
## 设置了mysql密码 root
docker run -itd --name docker_mysql -p 33060:3306 -e MYSQL_ROOT_PASSWORD=root mysql

输入 docker ps -a 查看刚启动的mysql容器 可以看到,这里有一个mysql已经启动了,我们可以尝试连接了。

第四步:测试连接

1、终端连接 

mysql -h localhost -P 33060 -u root -p

输入启动容器设置的密码root   可以看到这里成功了

 

2、第三方工具连接

我使用的是Navicate Premium连接,中途出现了  Authentication plugin ‘caching_sha2_password的问题。不知是否由于本地也安装了mysql5.7的原因导致,gpt说是mysql8.0导致。

成功解决  如果遇到上述情况

本地终端连接进入mysql,输入

## 这里的    root                                    root 是我们登录mysql的用户名密码
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';

## 刷新一下
FLUSH PRIVILEGES;

## 退出mysql
exit; 


docker常用命令

1、镜像相关命令:

docker images:列出本地的 Docker 镜像。
docker pull <image>:从 Docker Hub 或其他仓库拉取镜像。
docker rmi <image>:删除本地的 Docker 镜像。

2、容器相关命令:

docker ps:列出正在运行的容器。
docker ps -a:列出所有容器,包括已停止的。
docker run <options> <image>:运行一个容器。
docker exec -it <container> <command>:在正在运行的容器中执行命令。
docker stop <container>:停止一个运行中的容器。
docker rm <container>:删除一个容器。

3、网络相关命令:

docker network ls:列出 Docker 网络。
docker network create <network>:创建一个自定义网络。
docker network connect <network> <container>:将容器连接到网络。
docker network disconnect <network> <container>:将容器从网络断开。

4、数据卷相关命令:

docker volume ls:列出 Docker 数据卷。
docker volume create <volume>:创建一个数据卷。
docker run -v <host-path>:<container-path>:挂载数据卷到容器中。

5、构建和发布命令:

docker build -t <tag> <path>:基于 Dockerfile 构建镜像。
docker push <image>:将镜像推送到 Docker Hub 或其他仓库。

6、日志和信息命令:

docker logs <container>:查看容器的日志。
docker inspect <container>:获取有关容器的详细信息。

7、清理命令:

docker system df:显示 Docker 占用的磁盘空间。
docker system prune:清理未使用的资源,包括停止的容器、未被使用的镜像等。

本文标签: 镜像Dockermysql