当前位置: 首页 > news >正文

Docker基本使用【数据卷的挂载及常用命令】

镜像和容器:当我们利用docker安装应用时,Docker会自动搜索并下载应用的镜像(image),镜像不仅包含应用本身还包含应用所需要的环境、配置、系统函数库。Docker会在运行镜像时创建一个隔离的环境,称为容器(container)

一键部署mysql

输入以下命令:

docker run -d --name mysql -p 3306:3306 -e TZ=Asia/Shanghai -e MYSQL_ROOT_PASSWORD=密码 mysql

命令解读:

  • docker run :创建并运行一个容器,-d是让容器在后台运行

  • --name mysql:给容器起一个名字,叫mysql,必须唯一

  • -p 3306:3306:设置端口映射,前面是宿主机端口,后面是容器内端口,容器内端口取决于进程,不需要改动,宿主机端口可以改动

  • -e :设置环境变量,参数类型为KEY=VALUE,可以设置多个,环境由要安装应用的官方提供

  • mysql:指运行镜像的名字,一般由两部分组成,镜像名:镜像版本,不写版本默认最新版本

常用镜像命令

忘记命令时可以使用--help查看

1)查看安装的镜像:

docker images

2)下载指定镜像:从docker仓库下载指定镜像,也叫拉取和git相同

docker pull 镜像名

3)打包指定镜像:

docker save -o 打包的包名 要打包的镜像名:版本号

4)删除指定镜像:

docker rmi 镜像名:版本

5)解析打包的镜像:

docker load -i 包名 -q
  • -i :后跟要解析的包名

  • -q :不要输出信息,可选

常用容器命令

1)创建容器:

docker run -d --name 容器名 -p 宿主机端口:进程端口(容器内) 镜像名称
  • -d:表示后台运行,一般不省略

  • --name :后跟容器名

  • -p :后跟端口映射

  • -e :环境变量,可选

  • 命令最后添加镜像名称

2)查看运行的容器:

docker ps

3)查看所有容器:

docker ps -a

4)停止容器:

docker stop 容器名

5)启动容器:

docker start 容器名

6)查看日志:

docker logs -f 容器名
  • -f:持续输出日志信息

7)进入容器:一个容器就模拟了一个操作系统

docker exec -it 容器名 bash
  • -it:表示添加一个可输入的终端,后跟容器名

  • bash:交互方式,bash表示命令行交互方式

8)删除容器:

docker rm 容器名

注意:删除运行的容器时会提示报错,有两种办法:1、停止在删除,2、容器名后面添加-f参数进行强制删除

9)查看容器详情:

docker inspect 容器名

数据卷

数据卷:是一个虚拟目录,是容器内目录与宿主机目录之间映射的桥梁,由于使用docker exec 命令进入指定容器中没法使用vi命令修改文件信息,所以使用数据卷进行一系列操作。注意:创建数据卷时,首先进行数据挂载

常用命令

使用docker volume --help查看命令使用方法和提示

命令说明
docker volume create创建数据卷
docker volume ls查看数据卷
docker volume rm删除指定数据卷
docker volume inspect 数据卷名查看数据卷的详情
docker volume prune清除数据卷

数据挂载

1)第一种挂载方式:

在执行docker run 命令时,使用 -v 数据卷:容器内目录 可以完成数据卷的挂载,当创建容器时,如果挂载了数据卷且数据卷不存在,会自动创建数据卷,如果创建时不指定数据挂载,系统也会自动创建数据挂载,创建一个很长名字的数据卷

eg:创建nginx容器并创建数据挂载

docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx
  • html:表示创建的数据卷的名字

创建完成后使用docker volume inspect 数据卷名命令查看宿主机的目录文件,进行操作

2)第二种挂载方式:

在执行docker run 命令时,使用 -v 本地目录:容器内目录 可以完成本地目录的挂载,注意:本地目录必须以/或者./开头,如果直接以名称开头,会被识别为数据卷而非本地,这种挂载方式还需要挂载配置文件和初始化脚本

eg:创建nginx容器并创建数据挂载

docker run -d --name nginx -p 80:80 -v ./html:/usr/share/nginx/html nginx
  • ./html:表示创建本地数据挂载的名字

  • 注意:这种挂载方式可以实现数据的持久保存,推荐使用这种挂载方式

http://www.lryc.cn/news/303361.html

相关文章:

  • 5G DTU实现燃气管道数据采集远程管理
  • 请解释Java中的代理模式,分别介绍静态代理和动态代理
  • Python 文件处理指南:打开、读取、写入、追加、创建和删除文件
  • 记录C#导出数据慢的优化方法
  • Android批量加载图片OOM问题
  • SNAT与DNAT公私网地址转换
  • 快速上手Spring Boot整合,开发出优雅可靠的Web应用!
  • MySQL高级特性篇(7)-数据库版本控制与迁移
  • js判断对象是否为空
  • 2024前端面试准备之HTML篇
  • devOps系列(八)efk+prometheus+grafana日志监控和告警
  • 考研英语单词29
  • spring-security 过滤器
  • 掌握这7种软件设计原则,让你的代码更优雅
  • Flutter自定义tabbar任意样式
  • Java设计模式【策略模式】
  • (13)Hive调优——动态分区导致的小文件问题
  • 【linux】使用g++调试内存泄露:AddressSanitizer
  • 第三百五十七回
  • 新版Java面试专题视频教程——框架篇
  • 网络爬虫实战 | 上传以及下载处理后的文件
  • Linux--shell编程中有关while循环的详细内容
  • 回归测试与重新测试
  • java 版本企业招标投标管理系统源码+多个行业+tbms+及时准确+全程电子化
  • 详解动态内存管理!
  • iocp简单例子
  • HAL STM32 HW I2C DMA + SSD1306/SH1106驱动示例
  • grafana配置钉钉告警模版(一)
  • 佳能2580的下载手册
  • YOLO-World:实时开放词汇目标检测