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

yizhihongxing

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 服务: sudo systemctl resta…

    Docker 2023年5月16日
    00
  • docker 突然不能被外网访问的解决方案

    当我们使用Docker容器部署服务时,有时会遇到无法被外网访问的问题。这种情况通常是由于网络、防火墙等原因造成的。在下面的攻略中,我将介绍两种解决该问题的方法。 方法1:检查宿主机的防火墙规则 首先,我们需要确认宿主机的防火墙规则是否允许外部访问Docker容器的端口。可以通过执行以下命令来检查: sudo iptables -S 该命令会列出当前的ipta…

    Docker 2023年5月15日
    00
  • Docker基础 :网络配置详解

    Docker基础 :网络配置详解是一篇介绍Docker网络配置的文章。本文将对这篇文章进行详细讲解,包括网络概念、Docker中的默认网络、自定义网络以及两个示例。 1. 网络概念 在介绍Docker中的网络配置之前,我们需要先了解一些网络概念。 1.1 端口 端口是计算机中一种非常重要的概念,它是一条网络数据传输的通道。每个端口都有一个唯一的编号,取值范围…

    Docker 2023年5月16日
    00
  • docker registry 私有仓库的搭建过程

    一、什么是 Docker Registry 私有仓库?Docker Hub是Docker官方提供的免费公共镜像仓库,我们可以在其中下载镜像。不过,下载速度无法保证,可能存在被封锁的情况,而且常用的官方镜像下载速度并不是特别快。所以,为了更稳定快速的获取到 Docker 镜像,我们可以使用Docker Registry仓库。然而,官方提供的 Docker Re…

    Docker 2023年5月15日
    00
  • Docker全方位攻略与自动化运维

    介绍 Docker Registry(Docker注册中心)是一个管理Docker容器镜像存储和交付的应用程序。注册中心集中容器镜像并减少开发人员的构建时间。Docker镜像通过虚拟化保证相同的运行环境,但是构建镜像需要大量的时间投入。例如,开发人员可以从包含所有必要组件的注册中心下载压缩镜像,而不是单独安装依赖项和包来使用Docker。此外,开发人员可以使…

    2023年4月9日
    00
  • Docker 启动报错 Error starting daemon: SELinux is not supported with the overlay2 …alse)

    早上给女朋友道了歉。 继续捣鼓Seafile Docker实践。 本地测试机,安装CentOS7,yum install 安装的Docker,启动Docker报错。 网络搜了下解决方法,测试有效。 vim /etc/sysconfig/docker      

    Docker 2023年4月12日
    00
  • 阿里云安装docker全过程

    下面是“阿里云安装docker全过程”的详细攻略: 准备 在安装docker之前,您需要在阿里云上启动一台Linux云服务器,并使用root权限登录。 安装docker 更新软件包索引 运行以下命令以更新软件包索引并确保所有依赖项都是最新的: bash sudo apt-get update sudo apt-get install apt-transpor…

    Docker 2023年5月16日
    00
  • Docker介绍下载安装、制作镜像及容器、做目录映射、做端口映射

    在计算机中,虚拟化(英语:Virtualization)是一种资源管理技术,是将计算机的各种实体资源,如服务器、网络、内存及存储等,予以抽象、转换后呈现出来,打破实体结构间的不可切割的障碍,使用户可以比原本的组态更好的方式来应用这些资源。这些资源的新虚拟部份是不受现有资源的架设方式,地域或物理组态所限制。一般所指的虚拟化资源包括计算能力和资料存储。在实际的生…

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