专业编程基础技术教程

网站首页 > 基础教程 正文

Docker 常用命令(详解、注意点、实操)

ccvgpt 2024-10-12 14:12:40 基础教程 9 ℃

1、帮助启动类命令

命令

Docker 常用命令(详解、注意点、实操)

说明

systemctl start docker

启动Docker

systemctl stop docker

停止Docker

systemctl restart docker

重启Docker

systemctl status docker

查看Docker状态

systemctl enable docker

设置开机启动

docker info

查看Docker概要信息

docker help

查看Docker总体帮助文档

docker 具体命令 --help

查看Docker 某一个命令帮助文档

例如:docker run --help 查看run命令的帮助文档

2、镜像命令

2.1、列出本地主机上的镜像

命令:docker images [OPTIONS] [REPOSITORY[:TAG]]

帮助文档:

重要Options 说明:

-a :列出本地所有的镜像(含历史映像层)

-q :只显示镜像ID。

2.2、通过镜像名称查找所有的镜像

命令:docker search 镜像名称

说明:通过镜像名称查找所有的镜像(在中央仓库上查找地址:Docker Hub)

帮助文档:

重要Options说明:

--limit : 只列出N个镜像,默认25个

查找redis 镜像 只查询 三个 注意:OFFICIAL 标识官方认定的 一般我们都是使用官方认定的这个

2.3、下载镜像

命令:docker pull 镜像名字[:TAG]

TAG 即为版本号 没有TAG就是最新版 等价于 docker pull 镜像名字:latest

帮助文档:

实例:

命令

说明

docker pull redis

拉取最新版本的redis 等价于 docker pull centos:latest

docker pull redis:6.0.8

拉取redis版本号为6.0.8的镜像

2.4、查看镜像/容器/数据卷所占的空间

命令:docker system df


2.5、删除镜像

命令:docker rmi 镜像名字或者ID

格式:docker rmi [OPTIONS] IMAGE [IMAGE...]

帮助文档:

Options 说明

-f 是强制删除 例如 docker rmi -f redis 强制 删除redis 镜像

例子:

命令

说明

docker rmi redis

非强制删除redis 有可能删除不掉

docker rmi -f redis

强制删除redis

docker rmi -f redis centos

删除多个镜像

docker rmi -f $(docker images -qa)

删除全部镜像(不推荐)

2.6、镜像提交

命令:docker commit [OPTIONS] 容器ID [REPOSITORY[:TAG]]

说明:基于当前容器创建一个新的镜像,新功能增强

实例:centos7 增加 vim命令,commit 后生成增强版本的centosvim 镜像

3、容器命令

3.1、新建+启动容器

命令:docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

Options说明(常用):

选项

说明

--name="容器新名字"

为容器指定一个名称

-d

后台运行容器并返回容器ID,也即启动守护式容器(后台运行)

-i

以交互模式运行容器,通常与 -t 同时使用

-t

为容器重新分配一个伪输入终端,通常与 -i 同时使用;也即启动交互式容器(前台有伪终端,等待交互)

-P

随机端口映射,大写P

-p

指定端口映射,小写p

实例:

命令

说明

docker run -it centos /bin/bash

以交互方式启动centos容器,执行后 将进入容器在容器中执行命令

docker run -d centos

以后台运行模式启动centos 容器,执行后 返回宿主机

docker run -it -p 6379:6379 redis

以交互方式启动redis 容器,并且映射端口6379

宿主机端口:容器端口

意思是访问宿主机6379端口,既是访问redis

3.2、列出所有容器

命令:docker ps [OPTIONS]

Options说明(常用):

选项

说明

-a

列出当前所有正在运行的容器+历史上运行过的

-l

显示最近创建的容器

-n

显示最近n个创建的容器

-q

静默模式,只显示容器编号。

实例:以交互方式启动centos 并且查看 已启动容器

3.3、容器退出的两种方式

命令:

命令

说明

exit

run进去容器,exit退出,容器停止

ctrl+p+q

run进去容器,ctrl+p+q退出,容器不停止

3.4、停止容器

命令:docker stop 容器ID或者容器名

3.5、启动已停止容器

命令:docker start 容器ID或者容器名

实例:

3.6、重启容器

命令:docker restart 容器ID或者容器名

3.7、强制停止容器

命令:docker kill 容器ID或容器名

3.8、删除容器

命令:docker rm 容器ID 加-f 标识 强制删除 同 docker rmi 命令

一次性删除多个容器:docker rm -f $(docker ps -a -q)

3.9、查看容器日志

命令:docker logs 容器ID

实例:

3.10、查看容器内运行的进程

命令:docker top 容器ID

说明:咱们在宿主机中查看运行的进程 是 top 命令 以此记忆 查看docker 中某一个容器中运行的进程

实例:

3.11、查看容器内门细节

命令:docker inspect 容器ID

说明:此命令可以看到容器的很多详细信息,例如状态、挂载、配置、网络设置等

3.12、进入正在运行的容器并以命令行交互(两种方式,一个是大坑)

命令:

命令

说明

docker exec -it 容器ID bashShell

此命令进入容器后,可以通过3.3的两种方式退出容器,并且容器不会停止

docker attach 容器ID

此命令进入容器后,通过exit退出后,容器会停止,所以平常使用过程不建议使用(不推荐)

实例:

  • docker exec -it 容器ID bashShell 以 exit 退出 容器
  • docker attach 容器ID 以 exit 退出 容器

3.13、从容器内拷贝文件到主机上

命令:docker cp 容器ID:容器内路径 目的主机路径

实例:

3.14、导入和导出容器

说明:我们拉取centos镜像,然后运行进入是没有vim、ifconfig等命令的,那有没有一个方式,让我们运行进入centos后就拥有我们需要的基础命令呢?那就需要导入和导出容器。方法是我们先从官网拉取一个centos镜像,然后以个镜像为基础安装vim、ifconfig等命令,然后将此容器导出成一个tar包,后续想用的时候,直接用自己打包的这个tar导入即可

命令:

  • 导出:docker export 容器ID > 文件名.tar
  • 导入:cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号

实例:

  • 安装vim命令,并且导出
  • 导入tar文件,验证是否有vim命令

Tags:

最近发表
标签列表