网站首页 > 技术文章 正文
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!并终止容器:
docker run ubuntu:16.04 /bin/echo `Hello, Xiaoliang!`
1.2 以交互方式启动Docker容器执行任务
通过如下指令,我们可以实现以交互的形式实现通过ubuntu容器的终端输出内容:
docker run -t -i ubuntu:16.04 /bin/bash
其中,-t表示为Docker容器分配一个伪终端(pseudo-tty)并绑定到容器的标准输入上;-i表示容器的标准输入保持打开状态。此时,我们能够以交互的模式在docker容器终端输入命令进行相应操作。
注意:终止容器的方式为在docker容器终端输入exit或Ctrl+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)容器的终止方法
终止容器的命令为:
docker container stop 容器ID的前几位
这里先介绍查看终止状态的容器命令为:
docker container ls -a
如下图所示,我这里有两个处于运行状态的容器和几个处于终止状态的容器:
- 注意:对于终止的容器,我们可以使用docker container start 容器ID前几位来重新启动,这也是启动容器的另一种方法。
此时,我们可以使用如下命令,同时终止两个后台运行的容器:
docker container stop 8c1 36c
然后,使用docker container ls -a查看结果,运行的两个容器状态变为了Exited状态,即实现了容器的终止操作。
(2)容器的删除方法
删除容器的命令为:
docker container rm [-f] 容器ID的前几位
- 注意:如果一个容器处于运行状态,需要使用-f选项来强制删除容器。
有的时候,我们想要删除所有处于终止状态的容器,其命令如下所示:
docker container prune
2.3 Docker容器进入方法
在使用-d选项后台运行容器后,有时候需要进入容器进行相应操作,此时我们可以使用docker exec命令进入后台运行容器。
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退出容器,此操作并不停止容器。
猜你喜欢
- 2024-09-12 64.手把手使用Docker
- 2024-09-12 kubernetes基础知识之docker容器和镜像
- 2024-09-12 docker 安装MongoDB(docker 安装mongodb4.4.4)
- 2024-09-12 Docker实战四之Docker 容器使用(docker 容器运行命令)
- 2024-09-12 【docker】:全面认识Docker和基本指令
- 2024-09-12 Docker 学习小总结(docker基础教程)
- 2024-09-12 运行Docker遇到权限问题应该如何处理?
- 2024-09-12 史上超全!Docker命令全集,值得收藏
- 2024-09-12 容器化学习-docker2生成镜像(docker手动生成镜像)
- 2024-09-12 Docker容器最常用命令(docker容器操作命令)
- 最近发表
- 标签列表
-
- cmd/c (64)
- c++中::是什么意思 (83)
- 标签用于 (65)
- 主键只能有一个吗 (66)
- c#console.writeline不显示 (75)
- pythoncase语句 (81)
- es6includes (73)
- sqlset (64)
- windowsscripthost (67)
- apt-getinstall-y (86)
- node_modules怎么生成 (76)
- chromepost (65)
- c++int转char (75)
- static函数和普通函数 (76)
- el-date-picker开始日期早于结束日期 (70)
- localstorage.removeitem (74)
- vector线程安全吗 (70)
- & (66)
- java (73)
- js数组插入 (83)
- linux删除一个文件夹 (65)
- mac安装java (72)
- eacces (67)
- 查看mysql是否启动 (70)
- 无效的列索引 (74)