前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker入门与实践:操作容器方法详细介绍

Docker入门与实践:操作容器方法详细介绍

作者头像
用户1143655
发布2022-06-23 14:31:44
6040
发布2022-06-23 14:31:44
举报
文章被收录于专栏:全栈之殇

Docker入门与实践:操作容器方法详细介绍

Docker容器作为Docker的核心概念之一,是独立运行的一个/一组应用及其运行状态的环境。本文将介绍如何管理一个Docker容器,包括创建、启动和停止操作等内容。

在学习Docker容器具体操作之前,我们要具有这样的意识:由于Docker容器的轻量级特性,使用容器的通常方法是随时删除和新建容器。

一、Docker容器的启动方法

新建并启动Docker容器的命令为docker run

比如,本地具有ubuntu:16.04Docker镜像(如果没有,可以使用docker pull ubuntu:16.04下载docker镜像)。

1.1 启动Docker容器执行任务后并退出

比如,我们可以在本地通过ubuntu:16.04容器的bash终端输出Hello, Xiaoliang!并终止容器:

代码语言:javascript
复制
docker run ubuntu:16.04 /bin/echo `Hello, Xiaoliang!`

1.2 以交互方式启动Docker容器执行任务

通过如下指令,我们可以实现以交互的形式实现通过ubuntu容器的终端输出内容:

代码语言:javascript
复制
docker run -t -i ubuntu:16.04 /bin/bash

其中,-t表示为Docker容器分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上;-i表示容器的标准输入保持打开状态。此时,我们能够以交互的模式在docker容器终端输入命令进行相应操作。

注意:终止容器的方式为在docker容器终端输入exitCtrl+d即可。

说明:当执行docker run命令创建容器时,docker后台执行了如下操作 (1)检测本地是否存在该镜像,如果不存在则从共有仓库上下载; (2)通过本docker地镜像创建并启动一个docker容器; (3)分配一个文件系统,并在只读的本地docker镜像层外部挂载一个可读写层; (4)从宿主机配置的网桥接口中桥接一个虚拟接口到docker容器内; (5)从地址池配置一个ip地址给docker容器; (6)执行相应的应用程序,执行完不后终止容器。

二、Docker容器的后台运行、终止/删除、进入方法

2.1 Docker容器的后台运行方法

通常,我们使用docker容器的方式是让docker容器在后台运行,而不是直接将输出结果输出到宿主机。我们可以通过-d选项来实现docker容器的后台运行(也叫守护态运行)。

比如,我们要实现启动ubuntu16.04容器,并实现每1秒输出一个Hello World!。如果我们不是用-d选项,则会出现如下情况,每秒在宿主机终端输出一个Hello World!

但是,如果我们使用后台运行,则会出现如下图所示的结果,需要注意输出的哈希值的前3位,它是后台运行docker容器的唯一Container id,通过这3位我们可以查看docker后台容器运行结果。此时,docker容器会在后台每秒输出一个Hello World!,而不会在宿主机的终端输出结果。但是我们可以通过docker logs命令查看输出结果。

我们还可以通过docker container ls来查看运行的容器信息,如下图所示,运行了两个docker容器:

2.2 Docker容器终止/删除方法

(1)容器的终止方法

终止容器的命令为:

代码语言:javascript
复制
docker container stop 容器ID的前几位

这里先介绍查看终止状态的容器命令为:

代码语言:javascript
复制
docker container ls -a

如下图所示,我这里有两个处于运行状态的容器和几个处于终止状态的容器:

  • 注意:对于终止的容器,我们可以使用docker container start 容器ID前几位来重新启动,这也是启动容器的另一种方法。

此时,我们可以使用如下命令,同时终止两个后台运行的容器:

代码语言:javascript
复制
docker container stop 8c1 36c

然后,使用docker container ls -a查看结果,运行的两个容器状态变为了Exited状态,即实现了容器的终止操作。

(2)容器的删除方法

删除容器的命令为:

代码语言:javascript
复制
docker container rm [-f] 容器ID的前几位
  • 注意:如果一个容器处于运行状态,需要使用-f选项来强制删除容器。

有的时候,我们想要删除所有处于会终止状态的容器,其命令如下所示:

代码语言:javascript
复制
docker container prune

2.3 Docker容器进入方法

在使用-d选项后台运行容器后,有时候需要进入容器进行相应操作,此时我们可以使用docker exec命令进入后台运行容器。

代码语言:javascript
复制
docker exec -i 容器ID前几位 bash
  • 需要注意的是,我们在以后台方式启动容器的时候,不仅要使用-d选项,还要使用-it为Docker容器分配一个伪终端并保持标准输入状态,即-it配合使用时,则可以通过熟悉的Linux命令提示符操作容器。

如下图所示,给出一个例子: (1)使用docker run -dit ubuntu:16.04命令以后台方式打开一个docker容器,并为Docker容器分配一个伪终端和保持标准输入状态; (2)实际情况下有多个后台运行容器时,可以使用docker container ls -a查看所有容器的信息; (3)使用docker exec -it 容器ID前几位 bash命令进入容器,并执行相应操作。

可以通过输入exit退出容器,此操作并不停止容器。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2022-06-12,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 人工智能技术栈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • Docker入门与实践:操作容器方法详细介绍
    • 一、Docker容器的启动方法
      • 1.1 启动Docker容器执行任务后并退出
      • 1.2 以交互方式启动Docker容器执行任务
    • 二、Docker容器的后台运行、终止/删除、进入方法
      • 2.1 Docker容器的后台运行方法
      • 2.2 Docker容器终止/删除方法
      • 2.3 Docker容器进入方法
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档