Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的Linux机器或Windows机器上,也可以实现虚拟化。以下是Docker的一些常用命令和操作:

  1. 安装和启动Docker

要使用Docker,首先需要在机器上安装Docker。安装方法可以根据不同的操作系统而有所不同。在安装完成后,可以通过以下命令启动Docker:

sudo service docker start
  1. 查看Docker版本和信息

要查看Docker的版本和相关信息,可以使用以下命令:

docker version

该命令将显示Docker的版本信息和运行时的详细信息。

  1. 拉取和运行镜像

要使用Docker,需要先从Docker Hub或其他容器仓库中拉取镜像。可以使用以下命令拉取镜像:

docker pull <镜像名>

然后可以使用以下命令运行镜像:

docker run -d <镜像名>

其中,-d参数表示在后台运行容器。如果要指定容器名称,可以使用--name参数,例如:

docker run -d --name my-container <镜像名>
  1. 进入容器

要进入正在运行的容器,可以使用以下命令:

docker exec -it <容器名称或ID> /bin/bash

其中,-it参数表示以交互模式进入容器。进入容器后,可以执行容器内的命令。如果要退出容器的终端,可以使用exit命令。

  1. 停止和删除容器

要停止正在运行的容器,可以使用以下命令:

docker stop <容器名称或ID>

如果要删除已经停止的容器,可以使用以下命令:

docker rm <容器名称或ID>

如果要删除正在运行的容器,需要先停止容器,然后再删除容器。如果要删除所有容器,可以使用以下命令:

docker rm $(docker ps -a -q)

​6. 构建镜像

如果要从零开始构建Docker镜像,可以使用以下命令:

docker build -t <镜像名称> . 

其中,-t参数用于指定生成的镜像名称,.表示Dockerfile所在的当前目录。然后Docker将开始构建镜像。如果要指定Dockerfile的位置,可以将路径作为参数传递给docker build命令,例如:

docker build -t <镜像名称> -f /path/to/Dockerfile . 

其中,-f参数用于指定Dockerfile的位置。

  1. 推送镜像

当构建完成后,可以使用以下命令将镜像推送到Docker Hub或其他容器仓库:

docker push <镜像名称> 

在推送镜像之前,需要先登录到相应的容器仓库。可以使用以下命令登录:

docker login 

然后按照提示输入用户名和密码。

  1. 查看容器日志

要查看容器的日志,可以使用以下命令:

docker logs <容器名称或ID> 

该命令将显示容器的输出日志。如果要实时查看容器的日志,可以使用以下命令:

docker logs -f <容器名称或ID> 
  1. 查看容器网络

要查看容器的网络信息,可以使用以下命令:

该命令将显示容器的详细信息,包括网络配置。

  1. 清理Docker

在使用Docker时,可能会产生一些无用的数据和镜像。要清理这些数据,可以使用以下命令:

docker system prune 

该命令将删除所有未使用的容器、网络、镜像和缓存层。

11. 停止和重启Docker服务

要停止Docker服务,可以使用以下命令:

sudo service docker stop

要重启Docker服务,可以使用以下命令:

sudo service docker restart
  1. 查看Docker系统信息

要查看Docker系统的详细信息,包括镜像、容器、网络和卷的信息,可以使用以下命令:

docker info

该命令将显示Docker系统的详细信息,包括镜像、容器、网络和卷的使用情况。

  1. 导出和导入容器

要导出容器,可以使用以下命令:

docker export <容器名称或ID> > <导出文件名.tar>

要将容器导入到Docker中,可以使用以下命令:

docker import <导出文件名.tar> <新镜像名称>

其中,是导出的容器文件,是导入的新镜像名称。

  1. 查看正在运行的容器

要查看正在运行的容器列表,可以使用以下命令:

docker ps

该命令将显示正在运行的容器的列表,包括容器ID、镜像名称、运行状态等信息。

  1. 清理无用的数据

要清理Docker中无用的数据,包括未使用的镜像、未使用的容器、未使用的网络和未使用的卷,可以使用以下命令:

docker system prune -a

该命令将删除所有未使用的镜像、容器、网络和卷。