Docker-常用命令大全(附命令详解)

在这里插入图片描述

文章目录

  • Docker 基础命令
    • 查看docker 运行状态
    • 关闭docker
    • 启动docker
    • 重启docker
    • docker设置随服务启动而自启动
    • 查看docker 版本号信息
    • docker 帮助命令
  • docker 镜像命令
    • 查看自己服务器中docker 镜像列表
    • 搜索镜像
    • 拉取镜像
    • 运行镜像
    • 保存镜像
    • 删除镜像
    • 加载镜像
    • 镜像标签
  • Docker 容器命令
    • 查看正在运行容器列表
    • 查看所有容器
    • 运行一个容器
    • 外部访问测试
    • 容器端口映射
    • 进入容器
    • 退出容器
    • 停止容器
    • 重启容器
    • 启动容器
    • kill 容器
    • 容器文件拷贝
    • 查看容器日志
    • 容器自启动
    • 更换容器名

更多相关内容可查看

Docker命令千千万,但本篇足以应对日常工作及面试需求并会不断补充,每一个命令都会介绍详细,尽可能保证每一个读完文章的小伙伴都能理解与应用

个人理解:Docker中的镜像可以理解为你要运行某应用或者某系统所需要的环境,容器可以理解为虚拟机

Docker 基础命令

查看docker 运行状态

systemctl status docker

运行中:
在这里插入图片描述

关闭docker

systemctl stop docker

在这里插入图片描述

启动docker

systemctl start docker

重启docker

systemctl restart docker

docker设置随服务启动而自启动

systemctl enable docker

查看docker 版本号信息

docker version
docker info

在这里插入图片描述

docker 帮助命令

docker --help

例如:对镜像的命令忘记

docker image --help

在这里插入图片描述

docker 镜像命令

查看自己服务器中docker 镜像列表

docker images

在这里插入图片描述

搜索镜像

docker search 镜像名

这个命令用来在Docker Hub上搜索名为mysql的镜像,mysqlmariadb是官方镜像(标记为[OK]),星级(STARS)表示了镜像的受欢迎程度,星级越高,表示这个镜像被更多的人使用和推荐。

在这里插入图片描述

docker search --filter=STARS=9000 mysql 

搜索 STARS >9000的 mysql 镜像

在这里插入图片描述

拉取镜像

不加tag(版本号) 即拉取docker仓库中 该镜像的最新版本latest 加:tag 则是拉取指定版本

docker pull 镜像名 
docker pull 镜像名:tag

拉取一个tomcat玩一下

docker pull tomcat

在这里插入图片描述

运行镜像

docker run 镜像名
docker run 镜像名:Tag

运行一下刚才拉取的tomcat吧

docker run tomcat

在这里插入图片描述
运行后 出现tomcat 默认占用的8080 端口 说明该镜像已经是启动了

保存镜像

将我们的镜像 保存为tar 压缩文件 这样方便镜像转移和保存 ,然后 可以在任何一台安装了docker的服务器上 加载这个镜像

docker save 镜像名/镜像ID -o 镜像保存在哪个位置与名字docker save tomcat -o /myimg.tar

在这里插入图片描述

删除镜像

#删除一个
docker rmi -f 镜像名/镜像ID#删除多个 其镜像ID或镜像用用空格隔开即可 
docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID#删除全部镜像  -a 意思为显示全部, -q 意思为只显示ID
docker rmi -f $(docker images -aq)

强制删除镜像

docker image rm 镜像名称/镜像ID

删除我们刚才拉取的tomcat

docker rmi -f tomcat

在这里插入图片描述

加载镜像

任何装 docker 的地方加载镜像保存文件,使其恢复为一个镜像

docker load -i 镜像保存文件位置

加载我们保存在根目录下的tomcat

docker load -i myimg.tar

在这里插入图片描述

镜像标签

在工作中有开发环境、测试环境、生产环境以及版本迭代,就可以利用标签来进行区分

docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]docker tag 源镜像名:TAG 想要生成新的镜像名:新的TAG# 如果省略TAG 则会为镜像默认打上latest TAG
docker tag aaa bbb
# 上方操作等于 docker tag aaa:latest bbb:test

给tomcat打上dev(开发环境)的标签

docker tag tomcat tomcat:dev

在这里插入图片描述

Docker 容器命令

查看正在运行容器列表

docker ps

查看所有容器

包含正在运行 和已停止的

docker ps -a

在这里插入图片描述

运行一个容器

# -it 表示 与容器进行交互式启动 -d 表示可后台运行容器 (守护式运行)  --name 给要运行的容器 起的名字  /bin/bash  交互路径
docker run -it -d --name 要取的别名 镜像名:Tag /bin/bash 

例如我们要启动一个redis 把它的别名取为redisText 并交互式运行

#1. 拉取redis 镜像
docker pull redis
#2.命令启动
docker run -it -d --name redisText redis /bin/bash

在这里插入图片描述

外部访问测试

这个命令是示系统中所有正在监听的 TCP 和 UDP 连接,以及这些连接关联的进程

netstat -untlp

会发现没有6379的进程

原因是:占用的6379端口 仅仅是在容器中内部本身的端口,与宿主机的6379端口并无联系,我们通过宿主机Ip:6379访问此redis示例是访问不到的

容器端口映射

1.首先停止容器

# 先停止咱之前运行的 redis 容器 
docker stop 容器名/容器ID

在这里插入图片描述

2.删除容器

# 先删除咱之前创建的 redis 容器 
docker rm 容器名/容器ID

在这里插入图片描述

3.端口映射

-p 宿主机端口:容器端口docker run -itd --name redisText -p 8888:6379 redis /bin/bash

在这里插入图片描述

-p 8888:6379 解析 将容器内部的 6379端口与docker 宿主机(docker装在哪台服务器 哪台服务器就是宿主机)8888 端口进行映射 那通过外部访问宿主机8888端口 即可访问到 docker 容器 6379 端口了
在这里插入图片描述

进入容器

docker exec -it 容器名/容器ID /bin/bash#进入 前面的 redisText 容器   
docker exec -it redisText /bin/bash

在这里插入图片描述

退出容器

#-----直接退出  未添加 -d(持久化运行容器) 时 执行此参数 容器会被关闭  
exit
# 优雅退出 --- 无论是否添加-d 参数 执行此命令容器都不会被关闭
Ctrl + p + q

停止容器

docker stop 容器ID/容器名

重启容器

docker restart 容器ID/容器名

启动容器

docker start 容器ID/容器名

kill 容器

docker kill 容器ID/容器名

容器文件拷贝

无论容器是否开启 都可以进行拷贝

#docker cp 容器ID/名称:文件路径  要拷贝到外部的路径   |     要拷贝到外部的路径  容器ID/名称:文件路径
#从容器内 拷出
docker cp 容器ID/名称: 容器内路径  容器外路径
#从外部 拷贝文件到容器内
docker  cp 容器外路径 容器ID/名称: 容器内路径

查看容器日志

docker logs -f --tail=要查看末尾多少行 默认all 容器ID

在这里插入图片描述

容器自启动

启动容器时,使用docker run命令时 添加参数–restart=always 便表示,该容器随docker服务启动而自动启动

docker run -itd --name redis002 -p 8888:6379 --restart=always  redis /bin/bash

在已有的容器怎么设置自启动

docker  update --restart=always 容器Id 或者 容器名或docker container update --restart=always 容器Id 或者 容器名

在这里插入图片描述

更换容器名

docker rename 容器ID/容器名 新容器名

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/459923.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【ComfyUI】手动安装部署ComfyUI的运行环境

如果不喜欢已有的一键启动包,我们可以手动的安装和部署ComfyUI的运行环境,相比一键安装包,自己部署ComfyUI 环境具有相当大的灵活性,其实部署ComfyUI 环境非常简单,不像网上说的那么复杂。下面我们就按照顺序给大家分享…

Golang | Leetcode Golang题解之第520题检测大写字母

题目: 题解: func detectCapitalUse(word string) bool {// 若第 1 个字母为小写,则需额外判断第 2 个字母是否为小写if len(word) > 2 && unicode.IsLower(rune(word[0])) && unicode.IsUpper(rune(word[1])) {return f…

【Cri-Dockerd】安装cri-dockerd

cri-dockerd的作用: 在k8s1.24之前。k8s会通过dockershim来调用docker进行容器运行时containerd,并且会自动安装dockershim,但是从1.24版本之前k8s为了降低容器运行时的调用的复杂度和效率,直接调用containerd了,并且…

git下载和配置

git是什么? Git是一种分布式版本控制系统,用于跟踪文件的变化,尤其是源代码。它允许多个开发者在同一项目上进行协作,同时保持代码的历史记录。Git的主要特点包括: 分布式:每个开发者都有项目的完整副本&a…

GPT避坑指南:如何辨别逆向、AZ、OpenAI官转

市面上有些说自己是官转,一刀只需要1块甚至几毛钱,并声称官方倍率的,很大可能就是使用的是 逆向或Azure。 如何鉴别逆向 逆向的种类很多,主要分为3类 逆向不知名A| 镜像站或偷的 key。成本约等于0,调用聊天数据可能在…

postgresql增量备份系列一

简介 在一些大容量得数据库应用中,采用全量备份得方式,会带来大量时间浪费和开销,此时定期的增量备份可以使得数据存储周期变长。本文讲解几个增量备份工具 pg_basebackup pg_receivewal(异地归档模式) 使用pg_bas…

arcgis pro 3.3.1安装教程

一、获取方式: http://dt4.8tupian.net/2/29913a61b1500.pg3二、软件目录: 三、安装步骤: (1)安装软件运行环境windowsdesktop-runtime 8.0.4; (2)选中安装文件arcgispro_33zh_cn_190127.exe&…

LabVIEW汽车状态监测系统

LabVIEW汽车状态监测系统通过模拟车辆运行状态,有效地辅助工程师进行故障预测和维护计划优化,从而提高汽车的可靠性和安全性。 项目背景: 现代汽车工业面临着日益增长的安全要求和客户对于车辆性能的高期望。汽车状态监测系统旨在实时监控汽…

GiantPandaCVARM Neon Intrinsics 学习指北:从入门、进阶到学个通透

【GiantPandaCV导语】Neon是手机普遍支持的计算加速指令集,是AI落地的工程利器。Neon Intrinsics 的出现,缓解了汇编语言难学难写的难题,值得工程师们开发利用。 前言 Neon是ARM平台的向量化计算指令集,通过一条指令完成多个数据…

python爬虫抓取豆瓣数据教程

环境准备 在开始之前,你需要确保你的Python环境已经安装了以下库: requests:用于发送HTTP请求。BeautifulSoup:用于解析HTML文档。 如果你还没有安装这些库,可以通过以下命令安装: pip install requests…

SD-WAN分布式组网:构建高效、灵活的企业网络架构

随着企业数字化转型的深入,分布式组网逐渐成为企业网络架构中的核心需求。无论是跨区域的分支机构互联,还是企业与云服务的连接,如何在不同区域实现高效、低延迟的网络传输,已成为业务成功的关键。SD-WAN(软件定义广域…

使用Python和OpenCV实现火焰检测

使用Python和OpenCV实现火焰检测 项目解释: 此 Python 代码是使用 OpenCV、线程、声音和电子邮件功能的火灾探测系统的简单示例。 以下是它的功能的简单描述: 导入库:代码首先导入必要的库: cv2:用于图像和视频处理…

一篇文章入门傅里叶变换

文章目录 傅里叶变换欧拉公式傅里叶变换绕圈记录法质心记录法傅里叶变换公式第一步:旋转的表示第二步:缠绕的表示第三步:质心的表示最终步:整理积分限和系数 参考文献 傅里叶变换 在学习傅里叶变换之前,我们先来了解一…

基于uniapp微信小程序的校园二手书交易系统

作者:计算机学姐 开发技术:SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等,“文末源码”。 专栏推荐:前后端分离项目源码、SpringBoot项目源码、Vue项目源码、SSM项目源码、微信小程序源码 精品专栏:…

Spring 框架环境搭建

一、环境要求 JDK版本: JDK1.7及以上版本 Spring版本: Spring5.x版本 二、新建Maven项目 1. 创建 Maven 的普通 Java 项⽬ 2.设置项目坐标 3.设置项目的Maven环境 4.设置项目的名称和存放的工作空间 三、调整项目环境 1.修改JDK版本 properties&g…

前端 eslint 配置,以及在git提交之前自动format

目录 1、配置eslint步骤 1、eslint安装配置步骤 2、配置scripts步骤 3、测试eslint 2、配置git-hook1、安装环境2、最终效果 众所周知,前端项目可以在报很多error的情况下运行。但是良好的代码规范仍然有利于项目的开发维护,这里提供我的规范&#xff0c…

SpringBoot篇(运维实用篇 - 临时属性)

目录 一、临时属性设置 1. 简介 2. 属性加载优先级 那是否还有其他的配置方式呢? 3. 知识小结 二、开发环境中使用临时属性 1. 如何操作 2. 知识小结 3. 思考 三、配置文件分类 1. 简介 2. 4个级别 3. 为什么设计多种配置文件? 一个典型的应…

基于vue框架的的汇生活家居商城的设计与实现bdjlq(程序+源码+数据库+调试部署+开发环境)系统界面在最后面。

系统程序文件列表 项目功能:商品分类,商品信息,用户 开题报告内容 开题报告 项目名称:基于Vue框架的汇生活家居商城的设计与实现 一、项目背景与意义 随着互联网技术的不断发展和普及,电子商务已成为现代商业的重要组成部分。家居商城作…

免费可离线的AI抠图工具(鲜艺AI抠图 )免费下载

鲜艺AI抠图是一款使用Tauri 2 和RMBG-1.4 开发并免费提供的AI抠图工具,它能够快速去除图片背景,并支持本地和在线图片处理。: 极速AI抠图: 基于最新的AI技术,能够精准识别图像中的前景和背景,实现快速抠图…

面试经典 150 题.P27. 移除元素(002)

本题来自:力扣-面试经典 150 题 面试经典 150 题 - 学习计划 - 力扣(LeetCode)全球极客挚爱的技术成长平台https://leetcode.cn/studyplan/top-interview-150/ 题解: class Solution {public int removeElement(int[] nums, int…