Docker run流程及镜像的基本命令详解

Docker run流程及镜像的基本命令详解

Docker run流程

在Docker中运行容器时,需要使用docker run命令。该命令包括以下步骤:

  1. 检查本地镜像是否存在,如果不存在,则从Docker Hub下载
  2. 使用镜像创建容器
  3. 分配一个文件系统,并在其上执行各种操作
  4. 分配一个网络地址
  5. 执行用户指定的命令

镜像基本命令

在使用Docker时,经常需要使用到镜像相关的命令,以下列出几个常用的镜像命令:

  • docker pull: 从Docker Hub下载镜像

例如:docker pull nginx

  • docker images: 列出本地所有的镜像

例如:

REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 0eb98ac809b4 3 hours ago 109MB
ubuntu latest 1318b700e415 5 weeks ago 72.8MB

  • docker run: 运行容器

例如:docker run -it nginx /bin/bash

  • docker ps: 列出正在运行的容器

例如:

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
c0b021ea5f47 nginx "/docker-entrypoint.…" 19 seconds ago Up 17 seconds 0.0.0.0:80->80/tcp friendly_shirley

  • docker stop: 关闭容器

例如:docker stop c0b021ea5f47

  • docker rm: 删除容器

例如:docker rm c0b021ea5f47

示例说明

示例1:使用nginx镜像运行一个web服务

  1. 首先下载nginx镜像:docker pull nginx

  2. 运行nginx容器,并暴露80端口:docker run -p 80:80 nginx

运行结果如下:

```
$ docker run -p 80:80 nginx
/docker-entrypoint.sh: Configuration complete; ready for start up

```

此时,可以通过在浏览器中访问http://localhost来查看nginx的欢迎页面。

  1. 关闭容器:docker stop [container-id]

其中,[container-id]指的是docker run命令生成的容器ID。

示例2:使用Ubuntu镜像运行一个Hello World程序

  1. 首先下载Ubuntu镜像:docker pull ubuntu

  2. 运行Ubuntu容器,并打开交互式终端:docker run -it ubuntu /bin/bash

运行结果如下:

$ docker run -it ubuntu /bin/bash
root@8680c29f5474:/#

  1. 在容器中安装vim编辑器,用于创建Hello World程序:apt-get update && apt-get install vim

在容器中输入上述命令,会进行apt-get的更新和安装vim编译。

  1. vim中创建一个名为hello_world.c的程序文件,在其中输入以下内容:

```
#include

int main(void) {
printf("Hello, world!\n");
return 0;
}
```

  1. 保存并退出hello_world.c文件,并在容器中编译程序:gcc hello_world.c -o hello_world

  2. 运行程序:./hello_world

运行结果为:

$ ./hello_world
Hello, world!

  1. 关闭容器:exit

此时,容器已经运行完毕,可以通过docker ps -a命令查看容器的状态,并通过docker rm命令删除容器。

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

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

相关文章

  • Docker 容器互联互通的实现方法

    当使用 Docker 部署多个容器时,这些容器之间需要进行互相通信才能完成某些应用程序的功能。下面就是实现 Docker 容器互联互通的方法攻略。 方法一:使用 Docker 服务发现 Docker 官方提供了 Docker 服务发现框架(Docker Swarm Mode)。通过 Docker Swarm Mode,可以将多个 Docker 节点集中管理并…

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

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

    Docker 2023年5月15日
    00
  • 在CentOS系统中安装Docker的教程

    以下是“在CentOS系统中安装Docker的教程”的完整攻略: 安装 Docker 1. 更新系统 首先,为了保证系统安装 Docker 之后能够正常运行,需要先更新系统: sudo yum update 2. 安装依赖包 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 3.…

    Docker 2023年5月16日
    00
  • IDEA集成Docker实现一键部署的详细过程

    下面是“IDEA集成Docker实现一键部署的详细过程”的完整攻略: 1. 前置要求 在开始之前,需要确保你已经满足以下前置要求: 安装好 IntelliJ IDEA 开发环境 安装好 Docker 并了解其基本操作 了解 Java Web 应用的基本概念和配置方法 2. 添加 Docker 插件 在 IntelliJ IDEA 中选择“File”>“…

    Docker 2023年5月15日
    00
  • 如何精简 Prometheus 的指标和存储占用

    前言 随着 Prometheus 监控的组件、数量、指标越来越多,Prometheus 对计算性能的要求会越来越高,存储占用也会越来越多。 在这种情况下,要优化 Prometheus 性能, 优化存储占用. 第一时间想到的可能是各种 Prometheus 的兼容存储方案, 如 Thanos 或 VM、Mimir 等。但是实际上虽然集中存储、长期存储、存储降采…

    Docker 2023年4月11日
    00
  • docker-图形化-portainer管理多台docker主机

    1. portainer管理多台docker主机 2. 管理其他docker主机,需要开启docker api # vi /usr/lib/systemd/system/docker.service ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock …

    Docker 2023年4月16日
    00
  • docker学习笔记之把容器commit成镜像的方法

    下面进入正题,讲解如何将Docker容器commit为Docker镜像。 什么是commit命令 commit 命令是 Docker 提供的将容器保存为镜像的命令,将容器的当前状态提交为一个新的镜像,并将生成的镜像保存至本地镜像仓库。同时,通过 –message 选项可以给该镜像添加相应的注释信息,方便后续管理维护。 流程说明 找到要提交成镜像的容器的容器…

    Docker 2023年5月16日
    00
  • 详解基于docker搭建lanproxy内网穿透服务

    详解基于docker搭建lanproxy内网穿透服务 内网穿透服务通常用于解决外网访问内网服务的需求。本文将详细讲解如何基于docker搭建lanproxy内网穿透服务。 安装docker 在开始之前,需要先安装docker。根据操作系统的不同,安装方法也会有所不同。在本文中,我们以Ubuntu 20.04为例讲解。 # 更新软件源 sudo apt upd…

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