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