首页 教程 开发工具 Docker 常用命令大全!!

Docker 常用命令大全!!

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 enabledocker

5. 查看 docker 运行状态

systemctl status docker

6. 查看 docker 版本号等信息

docker version

或者

docker info

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

Docker 常用命令大全!!

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. 查看正在运行的容器

dockerpsdockerps-a# 查看所有容器#加格式化方式访问,格式会更加清爽dockerps--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 -p80: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. 进入正在运行的容器

dockerexec-it 容器名 bashshell dockerexec-it nginx /bin/bash```

7. 停止容器

docker stop 容器名 docker stop nginx

8. 强制停止容器

dockerkill 容器名 dockerkill nginx

9. 删除容器

#删除一个dockerrm 容器ID dockerrm nginx dockerrm-f 容器ID #强制删除dockerrm-f nginx #删除多个dockerrm-f$(dockerps-a-q)dockerps-a-q|xargsdockerrm

10. 查看容器日志

docker logs 容器名 docker logs nginx

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

dockertop 容器名 dockertop nginx

12. 查看容器内部细节

docker inspect 容器名 docker inspect nginx

13. 创建容器数据卷挂载

# 创建容器并指定数据卷,注意通过 -v 参数来指定数据卷docker run -d--name nginx -p80: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 \-p3306:3306 \-eTZ=Asia/Shanghai \-eMYSQL_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-composeexec yml里面的服务id

5. 展示容器

ocker-compose ps

6. 展示进程

docker-composetop

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 functionsaliasrm='rm -i'aliascp='cp -i'aliasmv='mv -i'aliasdps='docker ps --format "table {{.ID}}\t{{.Image}}\t{{.Ports}}\t{{.Status}}\t{{.Names}}"'aliasdis='docker images'# Source global definitionsif[-f /etc/bashrc ];then. /etc/bashrc fi#退出exit :wq #执行命令使别名生效source /root/.bashrc

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

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

评论(0)条

提示:请勿发布广告垃圾评论,否则封号处理!!

    猜你喜欢
    【MySQL】用户管理

    【MySQL】用户管理

     服务器/数据库  2个月前  2.18k

    我们推荐使用普通用户对数据的访问。而root作为管理员可以对普通用户对应的权限进行设置和管理。如给张三和李四这样的普通用户权限设定后。就只能操作给你权限的库了。

    Cursor Rules 让开发效率变成10倍速

    Cursor Rules 让开发效率变成10倍速

     服务器/数据库  2个月前  1.24k

    在AI与编程的交汇点上,awesome-cursorrules项目犹如一座灯塔,指引着开发者们驶向更高效、更智能的编程未来。无论你是经验丰富的老手,还是刚入行的新人,这个项目都能为你的编程之旅增添一抹亮色。这些规则文件就像是你私人定制的AI助手,能够根据你的项目需求和个人偏好,精确地调教AI的行为。突然间,你会发现AI不仅能理解Next.js的最佳实践,还能自动应用TypeScript的类型检查,甚至主动提供Tailwind CSS的类名建议。探索新的应用场景,推动AI辅助编程的边界。

    探索Django 5: 从零开始,打造你的第一个Web应用

    探索Django 5: 从零开始,打造你的第一个Web应用

     服务器/数据库  2个月前  1.16k

    Django 是一个开放源代码的 Web 应用程序框架,由 Python 写成。它遵循 MVT(Model-View-Template)的设计模式,旨在帮助开发者高效地构建复杂且功能丰富的 Web 应用程序。随着每个版本的升级,Django 不断演变,提供更多功能和改进,让开发变得更加便捷。《Django 5 Web应用开发实战》集Django架站基础、项目实践、开发经验于一体,是一本从零基础到精通Django Web企业级开发技术的实战指南《Django 5 Web应用开发实战》内容以。

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

    MySQL 的mysql_secure_installation安全脚本执行过程介绍

     服务器/数据库  2个月前  1.09k

    mysql_secure_installation 是 MySQL 提供的一个安全脚本,用于提高数据库服务器的安全性

    【MySQL基础篇】概述及SQL指令:DDL及DML

    【MySQL基础篇】概述及SQL指令:DDL及DML

     服务器/数据库  2个月前  491

    数据库是长期存储在计算机内的、有组织的、可共享的、统一管理的大量数据的集合。数据库不仅仅是数据的简单堆积,而是遵循一定的规则和模式进行组织和管理的。数据库中的数据可以包括文本、数字、图像、音频等各种类型的信息。

    Redis中的哨兵(Sentinel)

    Redis中的哨兵(Sentinel)

     服务器/数据库  2个月前  316

    ​ 上篇文章我们讲述了Redis中的主从复制(Redis分布式系统中的主从复制-CSDN博客),本篇文章针对主从复制中的问题引出Redis中的哨兵,希望本篇文章会对你有所帮助。