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

安装成功

启动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