基础命令

docker version # 显示docker的版本信息

docker info # 显示docker的系统信息,包括镜像和容器的数量

docker 命令 –help # 帮助命令

帮助文档的地址:https://docs.docker.com/engine/reference/commandline/build/

docker pull:用于从远程仓库拉取镜像到本地。

docker images:查看本地已有的镜像列表。

docker run:基于镜像创建并启动一个容器。

docker ps:查看正在运行的容器列表。

docker stop:停止一个正在运行的容器。

docker rm:删除一个已停止的容器。

docker rmi :删除一个镜像

docker history :查看镜像详细信息

systemctl start docker #启动docker

systemctl stop docker #关闭docker

systemctl restart docker #重启docker

systemctl enable docker #设置开机自启动

systemctl status docker #查看docker运行状态

镜像命令

docker images 查看镜像

[root@localhost /]# docker images

:::tips
REPOSITORY TAG IMAGE ID CREATED SIZE

hello-world latest bf756fb1ae65 5 months ago 13.3kB

:::

#解释

REPOSITORY 镜像的仓库源

TAG 镜像标签

IMAGE ID 镜像id

CREATED 镜像的创建时间

SIZE 镜像的大小

#可选项

Options:

-a, –all # 列出所有镜像

-q, –quiet # 只显示镜像id

docker search 搜索镜像

[root@localhost /]# docker search mysql

NAME DESCRIPTION STARS OFFICIAL AUTOMATED

mysql MySQL is a widely used, open-source relation… 9604 [OK]

mariadb MariaDB is a community-developed fork of MyS… 3490 [OK]

#解释

NAME 镜像名称

DESCRIPTION 镜像描述

STARS 镜像的评分

OFFICIAL 是否为官方镜像

AUTOMATED 是否为自动构建镜像
#可选项,通过收藏来过滤

–filter=STARS=3000 #搜索出来的镜像就是STARS大于3000的

[root@localhost /]# docker search mysql –filter=STARS=3000

NAME DESCRIPTION STARS OFFICIAL AUTOMATED

mysql MySQL is a widely used, open-source relation… 9604 [OK]

mariadb MariaDB is a community-developed fork of MyS… 3490 [OK]

docker pull 下载镜像

#下载镜像 docker pull 镜像名[:tag]

[root@localhost /]# docker pull mysql

Using default tag: latest # 如果不写 tag,默认就是latest

docker pull mysql 等价于: docker pull docker.io/library/mysql:latest

#指定版本下载

[root@localhost /]# docker pull mysql:5.7

Docker构建

要构建自己的Docker镜像,可以使用以下命令:

docker build [OPTIONS] PATH | URL | -

docker build:构建镜像的命令。

[OPTIONS]:可选参数,用于配置构建过程,如镜像标签、构建上下文路径等。

PATH | URL | -:Dockerfile所在的路径、URL或者使用标准输入作为Dockerfile。

docker push 推送镜像

要将本地的镜像推送到Docker仓库,可以使用以下命令:

docker push [OPTIONS] NAME[:TAG]

docker push:推送镜像的命令。

[OPTIONS]:可选参数,用于配置推送过程,如认证信息等。

NAME[:TAG]:要推送的镜像名称和标签。

docker rmi 删除镜像

[root@localhost /]# docker rmi -f 镜像id #删除指定镜像

[root@localhost /]# docker rmi -f 镜像id 镜像id 镜像id #删除多个镜像

[root@localhost /]# docker rmi -f $(docker images -aq) #删除全部镜像

容器命令

容器保护三个状态:

  • 运行:进程正常运行</>

  • 暂停:进程暂停,CPU不再运行,并不释放内存

  • 停止:进程终止,回收进程占用的内存、CPU等资源

  • 其中:

  • docker run:创建并运行一个容器,处于运行状态

  • docker pause name:让一个运行的容器暂停

  • docker unpause name:让一个容器从暂停状态恢复运行

  • docker stop name:停止一个运行的容器(杀死进程、回收内存,仅剩文件系统

  • docker start name:让一个停止的容器再次运行

  • docker restart name:重启容器

  • docker rm:删除一个容器(进程、内存回收、文件系统彻底干掉)

新建容器并启动

docker run [可选参数] image

#参数说明

–name=”Name” 容器名字 tomcat01 tomcat02 ,用来区分容器

-d 后台方式运行

-it 使用交互方式运行,进入容器查看内容

-p 指定容器的端口 -p8080:80

-p ip:主机(即宿主机)端口:容器端口

-p 主机端口:容器端口 #这种方式常用

-p 容器端口

容器端口P

-P 随机指定端口(大写P)

列出所有运行的容器

#docker ps 命令

(不加) # 列出当前正在运行的容器

-a # 列出当前正在运行的容器 + 带出历史运行过的容器

-n=? # 显示最近创建的容器

-q # 只显示当前容器的编号

退出容器

exit # 直接退出容器

Ctrl + p + q # 容器不停止退出

删除容器

docker rm 容器id # 删除指定容器,不能删除正在运行的容器,如果要强制删除 rm -f

docker rm-f$(docker ps -aq) # 删除所有容器

docker ps-a-q|xargs docker rm # 删除所有容器

启动和停止容器的操作

docker start 容器id # 启动容器

docker restart 容器id # 重启容器

docker stop 容器id # 停止当前正在运行的容器

docker kill 容器id # 强制停止当前正在运行的容器