Docker
是一个开源的应用容器引擎,可以将开发应用以及依赖打包到一个镜像中,发布到linux操作系统机器上或wiindows操作系统机器上。
Docker被翻译为搬运工,意思是操作系统中的应用及依赖的收纳盒,可以很方便的将其中的应用获取部署到操作系统中,并且解决了软件跨环境迁移部署的问题。
Docker的功能有对应用的打包、分发、部署。
打包:将所需要的应用和依赖打包起来放进镜像中
分发:将镜像中的应用分发到拥有linux或windows等支持docker使用的操作系统上,或是传到镜像仓库中
部署:可以方便地进行安装,只需要输入一行指令即可
docker架构
docker使用客户端-服务器架构。 Docker客户端(client) 与 守护进程(Docker daemon)进行对话,该守 护进程 完成了构建、运行和分发 Docker 容器的繁重工作。
仓库(Repository):是docker提供的一个用来保存镜像的仓库. 镜像(Image):镜像就是一个可执行的包,用来创建容器,docker中每一个软件都是一个镜像. 容器(Container):容器是镜像的实体。容器可以被创建、启动、停止、删除、暂停等。
docker命令
docker命令分两大类:镜像操作命令,容器操作命令
镜像操作命令
1.从镜像仓库下载到本地
docker pull
例:docker pull mysql:8.0
2.查看本地镜像
docker images
3.删除docker镜像
docker rm 镜像名/镜像id
4.从docker中保存镜像到本地
docker save 镜像名 > 镜像名.jar
5.从本地上传镜像到docker
docker load 镜像名 < 镜像名.jar
容器操作命令
1.通过镜像安装
docker run 镜像名
2.查看容器
docker ps -a
3.启动容器
docker start 容器名
4.关闭容器
docker stop 容器名
5.删除容器
docker rm 容器名
6.查看容器日志
docker logs 容器名
安装MySql
1.下载mysql镜像
在线下载 docker pull mysql:8.0
加载本地镜像 docker load
2.安装mysql容器
例如:账号为root 密码为root:
docker run 参数
docker run -d -p 3306:3306 \
--name mysql \
--restart=always \
--privileged=true \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=root \
mysql:8.0
进入到容器
docker exec -it 容器名/容器id bash
登录mysql
mysql -u账号 -pr密码
mysql -uroot -proot
若是要与数据库建立连接,登录前需要执行:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY 'root';
mysql_native_password是MySQL数据库中的一种身份验证插件,它负责处理用户登录时的密码验证。这个插件使用MySQL自己的密码哈希算法,将用户提供的密码与存储在数据库中的密码哈希进行比较,以验证用户的身份。
mysql_native_password身份验证插件在MySQL数据库的安全性中扮演着重要角色。它通过哈希和加密用户密码,确保只有知道正确密码的用户才能访问数据库。这有助于防止未授权的访问和数据泄露。
退出:exit