Docker的理解和基本命令详解

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容器访问

    一般我们在访问容器时需要通过容器的端口来访问, 设置容器的端口映射 才可以访问   可以通过 -P 或 -p 参数来指定端口映射。   -p(小写的)则可以指定要映射的端口,并且,在一个指定端口上只可以绑定一个容器   docker run -p ip:hostPort:containerPort [–name] [-i] [-t] 镜像名 [COMMAN…

    Docker 2023年4月13日
    00
  • docker-管理镜像常用命令

    1. docker管理镜像常用命令 指令 说明 docker   run     [容器 CONTAINER ID] 创建一个新的容器并运行一个命令 docker   start   [容器 CONTAINER ID] 启动一个或多个已经被停止的容器 docker  stop    [容器 CONTAINER ID] 停止一个运行中的容器 docker  r…

    Docker 2023年4月16日
    00
  • Terraform 系列-Terraform Cloud 比 Terraform OSS 有哪些增强?

    系列文章 ? Terraform 系列文章 前言 最近在使用 Terraform Cloud 来置备 OCI 的 Always Free Tier, 发现它非常好用,相比 Terraform OSS, 用起来省心多了。 也借此总结学习下:Terraform Cloud 比 Terraform OSS 有哪些增强,这些增强功能面向哪些客户,解决了哪些痛点? 可…

    Docker 2023年4月14日
    00
  • Docker下安装Elasticsearch

    下载elasticsearch6.4.0的docker镜像:docker pull elasticsearch:6.4.0 修改虚拟内存区域大小,否则会因为过小而无法启动:sysctl -w vm.max_map_count=262144 使用docker命令启动:docker run -p 9200:9200 -p 9300:9300 –name ela…

    Docker 2023年4月11日
    00
  • IDEA远程管理docker镜像及容器服务的实现

    IDEA远程管理docker镜像及容器服务的实现可以分为以下几个步骤: 步骤一:安装docker 首先,我们需要在远程服务器上安装docker。具体操作可以参考docker官方文档,在此不再赘述。 步骤二:配置远程连接 在IDEA中配置远程连接可以使用”Docker Machine”插件或者”Remote Hosts Access”插件。这里以使用”Dock…

    Docker 2023年5月15日
    00
  • [docker]Kubernetes的yaml文件

    yaml是一种专门用来写配置的语言,简洁强大 它的规则: 1、大小写敏感 2、使用缩进表示层级关系,但不支持tab缩进,只支持空格 3、缩进的数量不重要但至少一个空格,只要相同层级使用相同数量的空格即可 4、“#”表示注释,从这个字符开始,直到行末,都会被解析器无视 在Kubernetes中,我们只需要知道两种yaml格式即可满足大部分需求: Map: 就是…

    Docker 2023年4月13日
    00
  • docker启动mysql 并实现外网访问且重启docker容器数据不丢失

    1.安装image docker pull mysql 也可以指定版本拉去镜像:docker pull mysql:5.7 2.docker查看本docker已有镜像: docker images 3.docker依据mysql镜像跑起来一个mysql容器,mysql密码是123:解释一下,–name是给容器起的名字, 3306:3306是把宿主机的3306…

    Docker 2023年4月13日
    00
  • Docker跨主机网络(overlay)的实现

    Docker跨主机网络(overlay)是Docker提供的一种跨主机的网络解决方案,它允许用户在多台Docker主机上创建一个虚拟网络,在这个虚拟网络中的容器可以像在同一主机上一样互相通信,而不需要基于传统的网络设备、路由、NAT等一系列复杂的配置,从而解决了跨主机的网络通信问题。 下面是实现步骤: 配置Docker Swarm:首先需要在多台Docker…

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