Docker 常用命令大全!!

news2024/11/18 3:38:31

Docker 常用命令

  • 一、启动类
      • 1. 启动 docker
      • 2. 关闭 docker
      • 3. 重新启动 docker
      • 4. docker 设置自启动
      • 5. 查看 docker 运行状态
      • 6. 查看 docker 版本号等信息
      • 7. docker 帮助
  • 二、 镜像类
      • 1. 查看镜像
      • 2. 搜索镜像
      • 3. 拉取镜像
      • 4. 运行镜像
      • 5. 删除镜像
      • 6. 加载镜像
      • 7. 保存镜像
  • 三、容器类
      • 1. 查看正在运行的容器
      • 2. 创建容器
      • 3. 启动守护式容器(后台运行)
      • 4. 停止容器
      • 5. 启动容器
      • 6. 进入正在运行的容器
      • 7. 停止容器
      • 8. 强制停止容器
      • 9. 删除容器
      • 10. 查看容器日志
      • 11. 查看容器内运行的进程
      • 12. 查看容器内部细节
      • 13. 创建容器数据卷挂载
      • 14. 查看数据卷
      • 15. 查看数据卷详情
      • 16. 删除数据卷
  • 四. 网络类
      • 1. 查看网络
      • 2. 创建网络
      • 3. 查看网络数据源
      • 4. 删除网络
  • 五、 Docker compose
      • 1. 查看帮助
      • 2. 启动所有服务
      • 3. 停止并删除容器、网络、卷、镜像。
      • 4. 进入容器实例内部
      • 5. 展示容器
      • 6. 展示进程
      • 7. 查看容器输出日志
      • 8. 检查配置
      • 9. 启动服务
      • 10. 重启服务
      • 11. 停止服务
  • 六、 其他
      • 1. 命令别名

一、启动类

1. 启动 docker

systemctl start docker

2. 关闭 docker

systemctl stop docker

3. 重新启动 docker

systemctl restart docker

4. docker 设置自启动

systemctl enable docker

5. 查看 docker 运行状态

systemctl status docker

6. 查看 docker 版本号等信息

docker version

或者

docker info

该命令还可以查看到有多少 容器及其状态镜像 的信息

docker info

7. docker 帮助

docker --help // 查看总体文档
docker run --help // 查看docker run 的帮助文档

二、 镜像类

1. 查看镜像

docker images

2. 搜索镜像

docker search [OPTIONS] 镜像名字
docker search mysql

3. 拉取镜像

docker pull
docker pull mysql #没有制定版本则默认最新版 

docker 官方镜像地址

4. 运行镜像

docker run
docker run tomcat

运行镜像后可以按 ctrl+c 退出

5. 删除镜像

docker rmi  镜像名/镜像ID #若镜像在运行则会报错
docker rmi -f 镜像名/镜像ID #强制删除一个
docker rmi -f mysql

docker rmi -f 镜像名/镜像ID 镜像名/镜像ID 镜像名/镜像ID #删除多个 其镜像ID或镜像用用空格隔开即可 
docker rmi -f mysql redis

docker rmi -f $(docker images -aq)
#删除全部镜像  -a 意思为显示全部, -q 意思为只显示ID

6. 加载镜像

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

7. 保存镜像

docker save 镜像名/镜像ID -o 镜像保存位置和名字
docker save tomcat -o /myimage.tar

三、容器类

1. 查看正在运行的容器

docker ps
docker ps -a # 查看所有容器
#加格式化方式访问,格式会更加清爽
docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"

2. 创建容器

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
常用参数:
--name=NAME   #为容器指定名字为NAME,不使用的话系统自动为容器命名
-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);
 
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用;
也即启动交互式容器(前台有伪终端,等待交互,一般连用,即-it);
 
-P: 随机端口映射,大写P
-p: 指定端口映射,小写p

# 创建并允许 Nginx 容器
docker run -d --name nginx -p 80:80 nginx

3. 启动守护式容器(后台运行)

docker run -d 容器名
docker run -d redis:6.0.8

4. 停止容器

docker stop 容器名
docker stop nginx

5. 启动容器

docker start 容器名
docker start nginx
docker restart 容器名
docker restart nginx

6. 进入正在运行的容器

docker exec -it 容器名 bashshell
docker exec -it nginx /bin/bash```

7. 停止容器

docker stop 容器名
docker stop nginx

8. 强制停止容器

docker kill 容器名
docker kill nginx

9. 删除容器

#删除一个
docker rm 容器ID  
docker rm nginx
docker rm -f 容器ID  #强制删除
docker rm -f nginx

 
#删除多个
docker rm -f $(docker ps -a -q)docker ps -a -q | xargs docker rm

10. 查看容器日志

docker logs 容器名
docker logs nginx

11. 查看容器内运行的进程

docker top 容器名
docker top nginx

12. 查看容器内部细节

docker inspect 容器名
docker inspect nginx

13. 创建容器数据卷挂载

# 创建容器并指定数据卷,注意通过 -v 参数来指定数据卷
docker run -d --name nginx -p 80:80 -v html:/usr/share/nginx/html nginx

14. 查看数据卷

docker volume ls

15. 查看数据卷详情

docker volume inspect 数据卷名
docker volume inspect html

16. 删除数据卷

docker volume rm 数据卷名
docker volume rm html

四. 网络类

1. 查看网络

docker network ls

2. 创建网络

docker network create 网络名
docker network create hmall

3. 查看网络数据源

docker network inspect 网络名
docker network inspect hmall

4. 删除网络

docker network rm 网络名
docker nerwork rm hmall

五、 Docker compose

官方文档:基本语法
假设docker run 部署 mysql命令如下:

docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  -v ./mysql/data:/var/lib/mysql \
  -v ./mysql/conf:/etc/mysql/conf.d \
  -v ./mysql/init:/docker-entrypoint-initdb.d \
  --network hmall
  mysql

那么用docker-compose.yml 文件定义就是:

version: "3.8"

services:
  mysql:
    image: mysql
    container_name: mysql
    ports:
      - "3306:3306"
    environment:
      TZ: Asia/Shanghai
      MYSQL_ROOT_PASSWORD: 123
    volumes:
      - "./mysql/conf:/etc/mysql/conf.d"
      - "./mysql/data:/var/lib/mysql"
    networks:
      - new
networks:
  new:
    name: hmall

1. 查看帮助

docker-compose -h

2. 启动所有服务

docker-compose up
docker-compose up -d # 后台运行

3. 停止并删除容器、网络、卷、镜像。

docker-compose down

4. 进入容器实例内部

docker-compose exec  yml里面的服务id

5. 展示容器

ocker-compose ps

6. 展示进程

docker-compose top

7. 查看容器输出日志

docker-compose logs  yml里面的服务id

8. 检查配置

docker-compose config
docker-compose config -q # 检查配置,有问题才有输出

9. 启动服务

docker-compose start

10. 重启服务

docker-compose restart

11. 停止服务

docker-compose stop

六、 其他

1. 命令别名

# 修改/root/.bashrc文件
vi /root/.bashrc
内容如下:
# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'
alias dps='docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"'
alias dis='docker images'

# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi
#退出
exit
:wq

#执行命令使别名生效
source /root/.bashrc

学习期间经常忘记 docker 的命令记录一下 ~

求点赞收藏o( ̄▽ ̄)d~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电机转速计算(基于码盘和IO外部中断)

目录 概述 1 硬件介绍 1.1 整体硬件结构 1.2 模块功能介绍 2 测速框架介绍 2.1 测速原理 2.2 软件框架结构 3 使用STM32Cube配置Project 3.1 准备环境 3.2 配置参数 3.3 生成Project 4 功能实现 4.1 电机控制代码 4.2 测试代码 4.3 速度计算 5 测试 5.1 编写测…

0基础认识C语言

为了给0基础一个舒服的学习路径,就有了这个专栏希望带大家一起进步。 话不多说,开始正题。 一、C语言的一段小历史 C语言的设计要追溯到20世纪60年代末和70年代初,在那个时代美国有这么一号人叫做丹尼斯.里奇,他和同事肯.汤普逊…

pyqt 浮动窗口QDockwidget

pyqt 浮动窗口QDockwidget QDockwidget效果代码 QDockwidget QDockWidget 是 PyQt中的一个控件,它提供了一个可以停靠在主窗口边缘或者浮动在屏幕上的窗口小部件(widget)。QDockWidget 允许用户自定义其界面,并提供了灵活的停靠和…

【数据结构】栈和队列超详细解析

最重要的就是不要去看远方模糊的,而要做手边清楚的事。💓💓💓 目录 ✨说在前面 🍋知识点一:栈 • 🌰1.什么是栈? • 🌰2.如何实现栈 • 🌰3.栈的基本操作…

一文教你使用stream流轻松解决java项目数据枚举显示问题

本篇文章主要讲解java枚举、vo实体类通过stream流形式输出枚举参数的方法。 日期:2024年5月26日 作者:任聪聪 本文代码实例附件:https://download.csdn.net/download/hj960511/89361611 实际效果 可以看到在枚举参数的基础上,我们…

56.合并区间

class Solution {public int[][] merge(int[][] intervals) {// 对 intervals 数组按照每个区间的开始位置进行排序Arrays.sort(intervals, (o1, o2) -> o1[0] - o2[0]);int len intervals.length;// 创建结果数组 res,初始化长度为 intervals 的长度int[][] re…

【Text2SQL 经典模型】TypeSQL

论文:TypeSQL: Knowledge-Based Type-Aware Neural Text-to-SQL Generation ⭐⭐⭐ Code: TypeSQL | GitHub 一、论文速读 本论文是在 SQLNet 网络上做的改进,其思路也是先预先构建一个 SQL sketch,然后再填充 slots 从而生成 SQL。 论文发…

Thinkphp5内核宠物领养平台H5源码

源码介绍 Thinkphp5内核流浪猫流浪狗宠物领养平台H5源码 可封装APP,适合做猫狗宠物类的发信息发布,当然懂的修改一下,做其他信息发布也是可以的。 源码预览 源码下载 https://download.csdn.net/download/huayula/89361685

什么是云渗透测试?

推荐阅读: 什么是安全态势? 什么是人肉搜索 什么是恶意软件? 什么是数字取证? 什么是语音网络钓鱼? 什么是网络安全中的社会工程? 什么是网络安全中的威胁情报? 什么是端点检测和响应 (…

面试中算法(A星寻路算法)

一、问题需求: 迷宫寻路游戏中,有一些小怪物要攻击主角,现在希望你给这些小怪物加上聪 明的AI (Artificial Intelligence,人工智能),让它们可以自动绕过迷宫中的障碍物,寻找到主角的所在。 A星…

flink程序本地运行:No ExecutorFactory found to execute the application

1.问题描述 在idea中运行flink job程序出现如下错误: Exception in thread "main" java.lang.IllegalStateException: No ExecutorFactory found to execute the application. at org.apache.flink.core.execution.DefaultExecutorServiceLoader.getE…

Linux基础 (十):Linux 信号的使用

目录 一、信号的基本概念 二、信号处理常见方式概览 三、修改信号的响应方式 – signal() 3.1 简单复习结束前台进程 3.2 改变SIGINT信号的响应方式 3.3 自定义方式改变进程对信号的响应 3.4 进程对信号作出两种响应 四、发送信号 – kill() 五、利用信号解决僵死进程…

Apache CXF Aegis databinding SSRF 高危漏洞修复

一、漏洞修复 Apache CXF Aegis databinding SSRF漏洞 Spring Web UriComponentsBuilder URL解析不当漏洞 二、修复步骤 1、Apache CXF Aegis databinding SSRF漏洞修复 步骤: 进入服务器搜索 databinding find -name *databinding* 发现版本是3.1.6 果断…

springboot项目中图片上传之后需要重启工程才能看到图片?

需求背景 最近在做一个用户自定义上传头像的小需求,用户上传头像然后需要立马回显。 需求是很常见的、正当的需求。如果不使用到对象存储这类服务,我们把用户头像的图片文件仅存在本地就可以了。我们在开发的过程中为了工程管理方便通常下意识会将图片…

list的模拟实现(一)

嗨喽大家好,时隔许久阿鑫又给大家带来了新的博客,list的模拟实现(一),下面让我们开始今天的学习吧! list的模拟实现(一) 1.list splice接口的使用 2.list尾插的实现 3.list的迭代…

瑞昱半导体AMB82 MINI(RTL8735B)Arduino 方法介绍

介绍瑞昱半导体(Realtek )AMB82-Mini 物联网 AI开发板 Ameba是一个易于编程的平台,用于开发各种物联网应用程序。AMB82 MINI配备了各种外设接口,包括WiFi、BLE、GPIO INT、I2C、UART、SPI、PWM、ADC。通过这些接口,AM…

Reids高频面试题汇总总结

一、Redis基础 Redis是什么? Redis是一个开源的内存数据存储系统,它可以用作数据库、缓存和消息中间件。Redis支持多种数据结构,如字符串、哈希表、列表、集合、有序集合等,并提供了丰富的操作命令来操作这些数据结构。Redis的主要特点是什么? 高性能:Redis将数据存储在内…

C语言代码错误(一)

今天在写选择排序代码时&#xff0c;在测试数据发现不能显示结果 1、代码如下&#xff1a; #include <stdio.h>int main(void) {int i, j; // 循环变量int MinIndex; // 保存最小的值的下标int buf; // 互换数据时的临时变量int n;printf("你想输入多少个数据n:\n…

ElasticSearch插件版本与ES版本不对应的解决方案

一、背景 最近需要给es安装ik、hanlp分词器和ingest-attachment管道&#xff0c;服务器已有的es版本为8.5.3&#xff08;似乎太新了&#xff09;&#xff0c;hanlp和ingest-attachment都没有这么高的版本&#xff0c;因此只能下载相对老的版本&#xff0c;然后自己修改配置文件…

C#同花顺下单 模拟操作版接口实现

C#同花顺下单 模拟操作版接口的实现 采用C#编程语言实现&#xff0c;对同花顺下单界面自动控制&#xff0c;将实现方法封装为DLL可以任意使用&#xff0c;支持几乎所有券商&#xff0c;不需要更换特定的券商。 比如当下最流行的QMT量化软件&#xff0c;仍然受限于特定的券商&a…