Docker的理解和基本命令详解

yizhihongxing

Docker的理解和基本命令详解

Docker的理解

Docker是一个开源的容器化平台,提供了一种方便快捷的方式去打包、发布、运行应用程序。它相当于一个轻量级的虚拟机,可以将应用程序和应用程序的所有依赖打包在一起,形成一个镜像,然后在任何地方运行这个镜像。

与传统的虚拟化方式相比,Docker的优势在于:

  • 更加轻量级:相较于传统的虚拟机镜像而言,Docker镜像更加轻量,因为Docker镜像共享底层的操作系统内核。
  • 更加高效:与虚拟机相比,Docker容器更加高效地利用资源,开启速度更快,占用资源更少。
  • 更加灵活:Docker部署更加灵活,可以轻松地在不同的主机之间迁移,也可以在云端实现弹性伸缩。

Docker基本命令

在了解Docker的概念之后,我们来看看常见的Docker命令。

镜像命令

  • docker pull:从Docker Hub下载指定的镜像到本地
  • docker images:列出本地已有的所有镜像
  • docker rmi:删除本地指定的镜像
  • docker tag:给本地的镜像打标签
  • docker commit:将容器的修改保存为新的镜像

例如:

# 从Docker Hub上下载一个Ubuntu镜像
docker pull ubuntu

# 列出本地已有的所有镜像
docker images

# 给本地的ubuntu镜像打上一个my-ubuntu的标签
docker tag ubuntu my-ubuntu

容器命令

  • docker run:创建并启动一个容器
  • docker ps:列出正在运行的容器
  • docker stop:停止一个容器
  • docker rm:删除一个容器
  • docker logs:查看容器的日志
  • docker exec:在一个运行中的容器内执行指令

例如:

# 以my-ubuntu镜像为模板创建容器并启动
docker run -it my-ubuntu /bin/bash

# 列出正在运行的容器
docker ps

# 停止容器id为1234的容器
docker stop 1234

# 删除容器id为1234的容器
docker rm 1234

# 查看容器id为1234的容器的日志
docker logs 1234

# 在容器id为1234的容器内执行指令
docker exec -it 1234 /bin/bash

示例说明

通过Docker部署一个简单的Web应用

以下假设我们已经编写好了一个简单的Web应用,并将它打包成Docker镜像,并将它推送到了Docker Hub上。

# 从Docker Hub上下载我们的Web应用镜像
docker pull my-web-app

# 启动我们的Web应用
docker run -it -p 8000:80 my-web-app

这里的 -p 8000:80 命令会将容器内的80端口映射到本地的8000端口,这样我们就可以在本地通过 http://localhost:8000 访问我们的Web应用了。

在Docker容器内运行一个Python脚本

假设我们有一个Python脚本 hello.py,我们想要在Docker容器内运行这个脚本。

# 以Python镜像为模板创建容器并启动
docker run -it python /bin/bash

# 将本地的hello.py文件拷贝到容器内
docker cp ./hello.py [container_id]:/home/

# 在容器内运行hello.py脚本
docker exec -it [container_id] python /home/hello.py

以上命令会先创建一个Python镜像,然后启动一个容器,在容器内将本地的 hello.py 文件拷贝到容器内,最后在容器内运行这个脚本。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Docker的理解和基本命令详解 - Python技术站

(0)
上一篇 2023年5月16日
下一篇 2023年5月16日

相关文章

  • docker容器与镜像的关系

    1、容器和镜像的关系 2、docker commit和docker import的区别 docker import会生成一个全新的镜像,而docker commit则是“继承自服镜像”,保留了父镜像的相关信息 3、容器与镜像的底层关系 镜像原理图 容器原理图 容器与镜像

    Docker 2023年4月11日
    00
  • Docker新手实践及部署NGINX的步骤详解

    下面我为您讲解一下“Docker新手实践及部署NGINX的步骤详解”的完整攻略,包含两条示例说明。 Docker新手实践及部署NGINX的步骤详解 简介 Docker 是一种使用容器化技术的容器引擎,有助于实现快速、可靠和可重复的软件交付和部署。本文主要介绍如何使用 Docker 实现部署 NGINX Web 服务器。 环境准备 在您的电脑或服务器上安装 D…

    Docker 2023年5月15日
    00
  • Docker自定义网络详解

    Docker自定义网络详解 Docker网络中有多种网络模式可供选择。除了预定义的网络模式外,Docker还支持自定义网络。本篇文章将说明Docker自定义网络的基本原理,以及如何使用Docker CLI创建自定义网络,并提供两个实际使用场景示例。 自定义网络原理 Docker自定义网络允许用户在创建容器时指定使用哪个网络。每个自定义网络在Docker宿主机…

    Docker 2023年5月16日
    00
  • Rancher 系列文章-K3s Traefik MiddleWare 报错-Failed to create middleware keys

    概述 书接上回:《Rancher 系列文章-K3S 集群升级》, 我们提到:通过一键脚本升级 K3S 集群有报错。 接下来开始进行 Traefik 报错的分析和修复, 问题是: 所有 Traefik 的 IngressRoute 访问报错 404 问题描述 报错如下: time=”2022-05-05T09:51:21Z” level=error msg=”…

    Docker 2023年4月8日
    00
  • docker默认存储空间用完情况下,做迁移数据

    由于docker默认存放数据路径为/var/lib/docker,但运行了一段时间后,发现/var/lib/docker下的目录文件过大,导致此分区空间不够用。通过以下方法,解决该问题。   如何避免: 最好是在docker安装完后,第一时间修改docker默认存储位置为其他大目录或者磁盘中。规避迁移数据过程中造成的风险。     直接移出数据,并修改doc…

    Docker 2023年4月12日
    00
  • DockerHub 镜像仓库的使用详解

    DockerHub 镜像仓库的使用详解 DockerHub 是一个公共的镜像仓库,提供了很多常用的镜像供开发者使用。本文将介绍 DockerHub 的基本使用方法,包括如何搜索镜像、如何下载和上传镜像、如何使用 DockerHub 提供的自动构建功能等。 1. 注册一个 DockerHub 帐号 如果你还没有 DockerHub 帐号,需要先在 Docker…

    Docker 2023年5月16日
    00
  • 使用docker部署django的详细步骤

    下面给出使用docker部署django的详细步骤: 环境准备 首先需要安装docker和docker-compose Dockerfile编写 在项目根目录下创建Dockerfile文件,内容如下: # 基础镜像选择,这里使用 Python 官方提供的运行环境镜像 FROM python:3.9-slim #设置工作目录 WORKDIR /app #拷贝代…

    Docker 2023年5月15日
    00
  • 关于如何使用docker部署centos系统测试环境

    下面是关于如何使用docker部署centos系统测试环境的完整攻略,包含两个具体的示例说明。 简介 Docker 是一种轻量级的容器技术,可以方便地部署应用程序以及创建测试环境。这里将会介绍如何使用 Docker 部署一个 Centos 系统的测试环境。 步骤 1. 安装Docker 在安装之前需要先检查系统是否已经安装了 Docker,可以使用如下命令进…

    Docker 2023年5月15日
    00
合作推广
合作推广
分享本页
返回顶部