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:表示创建本地数据挂载的名字

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

相关推荐

  1. Docker基本使用数据挂载命令

    2024-02-21 18:38:02       29 阅读
  2. Redis基本数据类型命令

    2024-02-21 18:38:02       34 阅读
  3. Git 基本概念、使用方式命令

    2024-02-21 18:38:02       37 阅读
  4. docker使用以及命令

    2024-02-21 18:38:02       12 阅读
  5. docker安装docker命令

    2024-02-21 18:38:02       7 阅读

最近更新

  1. TCP协议是安全的吗?

    2024-02-21 18:38:02       16 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-02-21 18:38:02       16 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-02-21 18:38:02       15 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-02-21 18:38:02       18 阅读

热门阅读

  1. 技术应用:C# System.Data.DataTable().Compute 基本用法

    2024-02-21 18:38:02       31 阅读
  2. LLaMA 2 - 你所需要的一切资源

    2024-02-21 18:38:02       26 阅读
  3. 【达梦数据库】通过系统函数来配置sqllog

    2024-02-21 18:38:02       26 阅读
  4. 设计模式的另一种有趣理解

    2024-02-21 18:38:02       25 阅读
  5. HTTP常见状态码(持续更新中~~)

    2024-02-21 18:38:02       27 阅读
  6. 强化学习入门(Matlab2021b)-创建环境【3】

    2024-02-21 18:38:02       26 阅读
  7. 【c++入门】算得分

    2024-02-21 18:38:02       31 阅读
  8. 一起不能上某几个网站的事件处理

    2024-02-21 18:38:02       33 阅读
  9. 聊聊arthas的spring-boot-starter

    2024-02-21 18:38:02       27 阅读