Docker常用命令大全

本文介绍了Docker的基础知识,包括Docker的核心对象——镜像和容器。详细讲解了Docker的服务操作、镜像管理、容器操作、数据卷管理和容器互联的命令,是Docker学习者的实用指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、概述

百度百科:

 简介:

        Docker是一个虚拟化平台( https://www.docker.com),诞生于 2013 年初,基于 Google 公司的 Go 语言进行实现。可以通过虚拟化方式,为应用提供可运行的容器。基于这种方式,可更快地打包、测试以及部署应用程序。现阶段,很多应用软件的安装都在向基于docker方式的安装进行实现。例如mysql,那么为什么不直接在操作系统中安装一个mysql,而是用容器呢?因为,安装MySql过程并不简单,要配置安装源,安装依赖包,对mysql进行配置…如果要在多台主机上安装,每台主机都要进行这些繁琐的操作,万一服务器挂了,这一系列操作还要再重来一遍,但有了docker,一个安装配置好的mysql容器,可以直接拿到另一台主机上启动,而不必重新安装mysql。另外,docker还有一重要的用处,就是可以保证开发,测试和生产环境的一致.

Docker核心对象

1.镜像

        Docker 镜像是一个特殊的文件系统,除了提供容器运行时所需的程序、库、资源、配置等文件外,还包含了一些为运行时准备的一些配置参数(如匿名卷、环境变量、用户等)。例如JDK镜像、Centos镜像、MySQL镜像等,可以暂时先将其理解为一个安装程序。

2.容器
        Docker容器可以将其理解为一个运行镜像的载体,镜像(Image)和容器(Container)的关系,就像是光盘和光驱。容器基于镜像创建、启动,然后运行镜像的中的文件。

二、Docker相关命令

1.Docker服务操作相关指令

 systemctl start docker   启动docker服务

systemctl status docker   查看Docker状态,running表示运行中

systemctl stop docker   停止docker服务

 systemctl restart docker   重新启动Docker服务

systemctl enable docker   设置Docker开机自启

systemctl disable docker   禁用Docker开机自启

docker info   查看Docker信息

2. Docker 镜像操作相关指令

docker pull 镜像名:版本号   下载镜像

docker images   浏览本地镜像文件

docker inspect 镜像名   查看镜像详情

docker history 镜像名   查看镜像历史

docker image rm 镜像名或镜像id   删除镜像文件

docker save  hello-world | gzip > 镜像名.tar.gz   导出镜像文件

docker load < 镜像名.tar.gz   导入镜像文件

docker run 镜像名   运行镜像文件

3. Docker 容器操作相关指令

docker run hello-world   启动hello-world镜像

docker run -it 镜像名 bash   创建并启动容器

docker exec -it 容器id bash   进入指定的容器

exit   退出容器

docker container rm 容器id   删除容器

docker container rm -f 容器id   删除正在运行的容器

docker container prune   清理所有处于终止状态容器

docker ps   查看Docker中正在运行的容器

docker ps -a   查看Docker所有的容器

docker container stop 容器id   停止运行的容器

docker container restart 容器id   重新启动容器

docker container logs 容器id   查看容器日志

注:

  • -i 表示交互模式
  • -t 表示终端模式
  • -d 后台运行模式
  • -e 表示指定环境,如指定启动mysql时的容器密码
  • -v 挂载(数据卷/目录)
  • -p 端口(3306:3306)
  • --name 给容器一个名字

4.Docker 数据卷或目录挂载相关指令

数据管理概述

在容器中管理数据主要有两种方式:

  • 数据卷(Volumes)
  • 挂载主机目录 (Bind mounts)

数据卷:

  • 定义:数据卷是一个可以供一个或者多个容器使用的特殊目录
  • 特点

可以在容器之间共享和重用
对数据卷的修改会马上生效
对数据卷的更新不会影响镜像
数据卷会一直存在,即使容器被删除

docker volume create 数据卷名称   创建数据卷

docker volume inspect 数据卷名称   查看指定数据卷的信息

docker volume ls  查看所有的数据卷

docker run -it -v 数据卷名:容器目录 镜像名 bash(交互模式才加)   启动挂载数据卷的容器

docker volume rm 数据卷名称   删除数据卷(如果数据卷被容器使用则无法删除)

docker volume prune   清理无主数据卷

docker run -it -v 宿主机目录:容器目录 镜像名 bash   启动容器时挂载主机目录

5.Docker容器互联

        Docker 中存在多个容器时,容器与容器之间经常需要进行通讯,例如nacos访问mysql,redis集群中各个节点之间的通讯。

1.创建网络

docker network create -d bridge yjh-net   yjh-net为自定义网络名,-d driver,网络类型,默认 bridge

docker network ls   查看所有网络

docker inspect 网络id   查看网络信息

2.添加容器到网络

开启第一个终端基于centos:7这个镜像启动容器,并加入到yjh-net这个网络

docker run -it --name yjh1 --network yjh-net centos:7

开启第二个终端基于centos:7这个镜像启动容器,并加入到yjh-net这个网络

docker run -it --name yjh2 --network yjh-net centos:7

3.联通测试


互联成功,测试完成。

满怀希望就会所向披靡!!!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值