Docker中的常用命令

Docker

Docker是一个开源的应用容器引擎,它允许开发者将应用程序及其依赖打包到一个可移植的容器中,然后发布到任何流行的Linux机器上,实现虚拟化。Docker利用容器技术,使得应用可以更快地部署和运行,提高了开发和部署的灵活性。

优点:

Docker的优点主要体现在以下几个方面:

  1. 轻量级快速:Docker容器相对于传统虚拟机更轻量,因为它们共享宿主系统的内核,避免了虚拟机启动所需的额外资源。因此,启动速度快,资源消耗低,应用可以更快地部署和运行。
  2. 跨平台:Docker支持跨平台运行,可以在不同的操作系统上运行,例如Linux、Windows和macOS等,为开发和部署提供了更大的灵活性。
  3. 隔离性:Docker容器提供了良好的隔离性,每个容器都有自己的文件系统、进程空间和网络空间,互相独立,确保了应用之间的互不干扰。
  4. 简化流程:Docker通过自动化构建、测试和部署流程,简化了应用程序的生命周期管理。

缺点:

当然,Docker也存在一些缺点:

  1. 性能开销:尽管Docker比传统虚拟化技术更加轻量级,但容器化仍会引入一定的性能开销,特别是在网络和存储方面。
  2. 持久化数据管理:Docker容器本身是短暂的,当容器被删除时,其中的数据也会丢失。因此需要额外的工作来管理容器中的持久化数据,如挂载卷或使用网络存储。
  3. 安全性:需要谨慎配置容器和监控容器之间的交互,以防止安全漏洞。容器间的隔离虽然好,但如果不当配置或管理,仍可能面临安全风险。

Docker是一个强大的容器化平台,它提供了快速、轻量级和跨平台的部署方式,但也需要注意其性能开销、数据管理和安全性等方面的问题。

Docker常用命令

以下是Docker的一些常用命令

管理容器

  • docker container ls:显示所有正在运行的容器。
  • docker container ps -a:显示所有容器,包括已停止的。
  • docker container start <容器ID或名称>:启动一个已停止的容器。
  • docker container stop <容器ID或名称>:停止一个正在运行的容器。
  • docker container rm <容器ID或名称>:删除一个容器。

管理镜像

  • docker images:查看所有已下载的镜像。
  • docker search <镜像名称>:搜索Docker Hub上的镜像。
  • docker pull <镜像名称>:<标签>:从Docker Hub或其他仓库拉取镜像。
  • docker rmi <镜像ID或名称>:删除一个镜像。
  • docker rmi $(docker images -q):删除所有镜像。

创建容器

  • docker run -i -t --name <容器名称> <镜像名称>:<标签>:以交互模式运行容器,并为其命名。
  • -v <宿主机目录>:<容器目录>:将宿主机的目录映射到容器内的目录。
  • -p <宿主机端口>:<容器端口>:将宿主机的端口映射到容器内的端口。
    例如:docker run -i -t -v /my/host/dir:/my/container/dir -p 8080:80 --name mycontainer ubuntu:18.04

其他常用命令

  • docker system df:查看Docker使用的磁盘空间。
  • docker version:查看Docker版本信息。
  • docker info:查看Docker系统信息。
  • docker attach <容器ID或名称>:进入正在运行的容器的终端。
  • docker exec -it <容器ID或名称> /bin/bash:在正在运行的容器中执行命令,并启动一个bash shell。
  • docker cp <容器ID或名称>:<源文件或目录> <目标路径>:从容器复制文件或目录到宿主机。
  • docker export <容器ID或名称> > <输出文件>:将容器的文件系统导出为tar存档。

查看本地镜像列表:

复制代码
docker images

查看本地镜像列表带有更多详细信息:

复制代码
docker image ls

搜索公开仓库中的镜像

复制代码
docker search <image-name>

拉取镜像:

复制代码
docker pull <image-name[:tag]>

例如:

复制代码
docker pull ubuntu:latest

删除本地镜像:

复制代码
docker rmi <image-id|image-name[:tag]>

强制删除:

复制代码
docker rmi -f <image-id|image-name[:tag]>

容器相关命令:

创建并运行新容器:
复制代码
docker run [options] <image-name> [command]

例如:

复制代码
docker run -it --name my_container -p 8080:80 nginx

其中 -it 表示交互式运行并打开终端,--name 给容器命名,-p 用于端口映射。

列出运行中的容器:
复制代码
docker ps
列出所有容器(包括停止的):
复制代码
docker ps -a
启动已停止的容器:
复制代码
docker start <container-id|container-name>
停止运行中的容器:
复制代码
docker stop <container-id|container-name>
立即停止(强制停止):
复制代码
docker kill <container-id|container-name>
重启容器:
复制代码
docker restart <container-id|container-name>
删除容器:
复制代码
docker rm <container-id|container-name>
强制删除所有停止的容器:
复制代码
docker rm -f $(docker ps -aq)
进入容器内部执行命令:
复制代码
docker exec -it <container-id|container-name> <command>

例如:

复制代码
docker exec -it my_container bash
查看容器日志:
复制代码
docker logs [options] <container-id|container-name>

例如,跟随实时日志:

复制代码
docker logs -f my_container
获取Docker版本信息:
复制代码
docker version

或简化版:

复制代码
docker -v
获取Docker系统信息:
复制代码
docker info
构建自定义镜像:
复制代码
docker build -t <image-name[:tag]> .

其中.指代当前目录下的Dockerfile所在位置。

保存容器为新的镜像:

复制代码
docker commit <container-id> <new-image-name[:tag]>

更新容器配置:

复制代码
docker update [options] <container-id|container-name>

例如,更新容器的资源限制:

复制代码
docker update --cpu-shares 512 my_container

在实际使用中需要根据实际情况调整上述命令中的参数以满足需求。

查看容器的详细信息:

复制代码
docker inspect <容器ID或名称>

保存镜像为文件:

复制代码
docker save -o <输出文件> <镜像名称>:<标签>

网络相关命令

查看网络
复制代码
   docker network ls

列出所有Docker网络。
2.

创建网络
复制代码
   docker network create <网络名称>

创建一个新的Docker网络。
3.

连接容器到网络
复制代码
   docker network connect <网络名称> <容器ID或名称>

将容器连接到指定的网络。

相关推荐
别来无恙1498 分钟前
岛屿周长问题的三种解法:直接计数法、数学计算法与深度优先搜索
java·c++·算法·深度优先·dfs
JH30732 小时前
Java Stream API 在企业开发中的实战心得:高效、优雅的数据处理
java·开发语言·oracle
qq_243050793 小时前
aflplusplus:开源的模糊测试工具!全参数详细教程!Kali Linux教程!(一)
linux·web安全·网络安全·黑客·渗透测试·模糊测试·kali linux
小慧10244 小时前
2.1话题发布
linux·ros
九月十九5 小时前
java使用aspose读取word里的图片
java·word
夜影风5 小时前
Linux系统中自签名HTTPS证书
linux·运维·https
wb1895 小时前
流编辑器sed
运维·笔记·ubuntu·云计算
一 乐6 小时前
民宿|基于java的民宿推荐系统(源码+数据库+文档)
java·前端·数据库·vue.js·论文·源码
爱记录的小磊6 小时前
java-selenium自动化快速入门
java·selenium·自动化