docker 的安装与使用
docker 的安装与使用
描述
何为 docker?
Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。
Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。
容器完全是沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。
Docker 支持将软件编译成一个镜像;然后在镜像中各个软件做好配置,将镜像发布出去,其他使用者可以直接使用这个镜像。运行中的这个镜像称为容器。容器启动是非常快速的。类似 windows 里面的 ghost 操作系统,安装好了什么都有了。
核心概念
docker 镜像 (Images):是用于创建 docker 容器的核心模板。
docker 容器 (Container):是独立运行的一个或一组应用。
docker 客户端 (Client):通过命令行或者其他工具使用 Docker API 与 docker 的守护进程进行通信连接 docker 主机进行操作的
docker 主机 (Host):一个物理或者虚拟的机器用于执行 Docker 的守护进程和容器。直接安装在操作系统上的 docker,就能运行到 docker 的守护进程
docker 仓库 (Registry):用来保存镜像,可以理解为代码控制中的代码仓库,DockerHub 提供了庞大的镜像集合供使用。
首先要使用 docker 我们就要给我们的机器上安装 docker
使用 docker 步骤
安装 docker
要求 CentOS 版本高于 3.10
可以使用 uname -r 查看内核版本

如果不是需要使用 yum update 来升级你的内核版本。
安装 dockeryum install docker

安装成功

“/var/run/yum.pid 已被锁定,PID 为 3139 的另一个程序正在运行”解决方法
万能的简单粗暴方法,强制删除此文件,删除后 yum 即可正常使用
rm -f /var/run/yum.pid
启动 docker
systemctl start docker
稍后 docker 未报错,就启动起来了

使用 docker -v 查看 docker 的版本号

将 docker 服务设为开机启动systemctl enable docker
开机启动设置成功

停止 docker
systemctl stop docker从 docker 仓库上找到软件对应的镜像下载镜像到本地主机
常用的镜像操作
| 操作 | 命令 | 说明 |
|---|---|---|
| 检索 | docker search 关键字 eg:docker search redis | 我们经常去 docker hub 上检索镜像的详细信息,如镜像的 TAG |
| 拉取 | docker pull 镜像名:tag | :tag 是可选的,tag 表示标签,多为软件的版本,默认为 latest |
| 列表 | docker images | 查看所有的本地镜像 |
| 删除 | docker rmi image-id | 删除指定的本地镜像 |
检索
以 MySQL 为例docker search mysql

拉取(下载到 host)
docker pull mysql:5.5

出现下面标识表示成功结束

查看主机里的镜像
docker images

通过镜像查询的到的唯一 id 删除镜像
docker rmi d404d78aa797
用 docker 命令运行镜像得到容器
容器的启动的启动停止就是对软件的启动和停止,==容器操作==:容器里就是正在运行的软件
| 操作 | 命令 | 说明 |
|---|---|---|
| 运行 | docker run --name 自定义名 -d 镜像名 | --name: 自定义容器名、-d: 后台运行、镜像名:指定镜像模板 |
| 列表 | docker ps | 查看运行中的容器,加上 -a 可以查看所有容器 |
| 停止 | docker stop | 容器名或 id 停止当前你运行的容器 |
| 启动 | docker start 容器名或 id | 启动容器 |
| 删除 | docker rm 容器 id | 删除指定容器 |
| 端口映射 | -p 主机端口:容器内部端口 eg:docker run -d -p 8888:8080 --name mytomcat docker.io/tomcat | -p 主机端口映射到容器内部的端口 |
| 容器日志 | docker logs | 容器名或 id |
| 更多命令 | 更多命令 |
Linux 删除整行命令:
ctrl+u 、ctrl+k 分别代表光标处往前和光标处往后删除;
ctrl+a 、ctrl+e 分别代表把管标移动到最前和最后

启动容器
==失败实例:演示使用停止和删除容器==
启动容器后无法使用,应为没有做端口映射,需要停止容器,删除重新运行
停止容器
docker stop 容器id

删除容器:
docker rm 容器id

使用日志
docker logs 容器id
演示使用 docker 安装 MySQL
==成功实例:演示使用 docker 安装 MySQL==
1. 来到官网搜索镜像
docker hub官网
参照官方文档,查看正确的启动

2. 按照规范重新 run 容器
注意:这里要进行端口映射,-p 要写在 run 后面不能写在最后docker run -p 3306:3306 --name mysql-docker -e MYSQL_ROOT_PASSWORD=123456 -d d404d78aa797

3. 测试

4. 自定义 MySQL 配置文件
以官方文档为准

https://blog.csdn.net/weixin_42119415/article/details/102892213