Docker系列之Docker容器

一、介绍

  容器是独立运行的一个或一组应用,以及它们的运行态环境。对应的,虚拟机可以理解为模拟运行的一整套操作系统和排在上面的应用。

二、容器

  2.1 启动容器

  启动容器有两种方式,一种是基于镜像新建一个容器并启动,另一个是将终止状态的容器重新启动。

  新建并启动:所需命令主要为 docker run。例如下面启动后输出一个“Hello World”,之后终止容器。

[email protected]0-15-ubuntu:~# docker run myimage /bin/echo ‘Hello World!‘
Hello World!

这跟本地直接执行/bin/echo ‘hello world‘ 几乎感觉不到任何区别。

  下面的命令则启动一个bash终端,允许用户进行交互。其中 -t 选项让Docker分配一个伪终端并绑定到容器的标准输入上,-i  则让容器的标准输入保持打开。使用exit退出终端。

  当利用 docker run来创建容器时,Docker在后台允许的标准操作包括:

  1. 检查本地是否存在指定的镜像,不存在就从公有仓库下载
  2. 医用镜像创建并启动一个容器
  3. 分配一个文件系统,并在只读的镜像层外面挂在一层可读写层
  4. 从宿主主机配置的网络接口中桥接一个虚拟接口到容器中去
  5. 从地址池配置一个ip地址给容器
  6. 执行用户指定的应用程序
  7. 执行完毕后容器被终止

  启动已终止容器:docker start 命令,直接将一个已终止的容器启动运行。

  2.2 查看容器

docker ps // 查看所有正在运行容器
docker stop containerId // containerId 是容器的ID
docker ps -a // 查看所有容器
docker ps -a -q // 查看所有容器ID

  2.3 终止容器

docker stop 加容器ID //终止容器
docker stop $(docker ps -a -q) // stop停止所有容器

  2.4 守护态运行

  更多时候,需要让Docker容器在后台以守护态形式运行。此时,可以通过添加 -d 参数来实现。如

[email protected]0-15-ubuntu:~# docker run -d myimage
755c54ec56e25c19295b08a86aef8b2a1a65753d62b80b50dce65ca96b719403

容器启动会返回一个唯一的id。

  2.5 进入容器

  在使用 -d 参数时,容器启动后会进入后台。某些时候需要进入容器进行操作,有很多种方法,包括使用 docker attach命令或 nsenter工具等。如:

[email protected]0-15-ubuntu:~# docker run -idt myimage //根据镜像创建容器
65763bc0fb47a05fe98529b5187588080f659f579e4c6c3e8044aca5c215a06a
[email protected]-0-15-ubuntu:~# docker ps -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                      PORTS               NAMES
65763bc0fb47        myimage             "/bin/bash"         42 seconds ago      Up 42 seconds                                   nostalgic_mccarthy
755c54ec56e2        myimage             "/bin/bash"         6 minutes ago       Exited (0) 6 minutes ago                        kickass_engelbart
5c05efb733f5        myimage             "/bin/bash"         20 minutes ago      Exited (0) 19 minutes ago                       sharp_varahamihira
[email protected]-0-15-ubuntu:~# docker attach nostalgic_mccarthy

  2.6 删除容器

  使用 docker rm 来删除一个处于终止状态的容器,如果删除运行中的容器,可以添加 -f 参数。

  docker rm $(docker ps -a -q) // remove删除所有容器。

原文地址:https://www.cnblogs.com/MicroHeart/p/9429202.html

时间: 2024-08-28 22:35:06

Docker系列之Docker容器的相关文章

Docker 系列三(容器管理).

一.运行容器 1.基于镜像新建一个容器并启动 docker run -it --rm -d -p 8888:8080 tomcat:8.0 -i:交互式操作 -t:终端 -rm:容器退出后随之将其删除,可以避免浪费空间 -p :端口映射 -d :容器在后台运行 指明了 -d 运行镜像,会返回容器的 id:如果不指明 -d 运行镜像,会打印出 catalina.out 的 日志,在 [crtl +c] 后,容器即停止运行. 当利用 docker run 来创建容器时,Docker 在后台运行的标准

docker 系列之 docker安装

Docker支持以下的CentOS版本 CentOS 7 (64-bit) CentOS 6.5 (64-bit) 或更高的版本 前提条件 目前,CentOS 仅发行版本中的内核支持 Docker. Docker 运行在 CentOS 7 上,要求系统为64位.系统内核版本为 3.10 以上. Docker 运行在 CentOS-6.5 或更高的版本的 CentOS 上,要求系统为64位.系统内核版本为 2.6.32-431 或者更高版本 1.查看当前系统内核版本 [[email protect

Docker系列14:容器编排(2)

三.容器编排实战 案例1 第一步:创建yml文件 [[email protected] ~]# vim docker-compose.yml version: '3' services: web: image: nginx:latest ports: - "5000:5000" links: - redis redis: image: redis 第二步:启动容器 [[email protected] ~]# docker-compose up -d 第三步:查看通过compose启动

Docker系列13:容器编排(1)

一.容器编排基础 1.容器编排概念 可以指定各个容器中的程序是有依赖关系的 比如有个web服务必须在mysql正常的情况下,才能运行,那么这个时候就是web容器是依赖mysql容器的,只有mysql容器正常启动,web容器才能启动. 2.容器编排工具 docker compose k8s k3s 二.compose详解 1.什么是compose Docker Compose 将所管理的容器分为三层,分别是工程(project).服务(service).容器(container) Docker C

【Docker系列教程之三】Docker容器是如何工作的

在上一篇的文章中,我给大家主要介绍了一下 Docker 环境的搭建,简单的讲解了一下 Docker 架构,以及用 Docker 命令简单演示了一下如何拉去一个 images 镜像.本篇我们将剖析一下 Docker 容器是如何工作的,学习好Docker容器工作的原理,我们就可以自己去管理我们的容器了. Docker架构 在上一篇文章的学习中,我们简单地讲解了Docker的基本架构.了解到了 Docker 使用的是 C/S 结构,即客户端/服务器体系结构.明白了 Docker 客户端与 Docker

8天入门docker系列 —— 第五天 使用aspnetcore小案例熟悉容器互联和docker-compose一键部署

原文:8天入门docker系列 -- 第五天 使用aspnetcore小案例熟悉容器互联和docker-compose一键部署 这一篇继续完善webnotebook,如果你读过上一篇的内容,你应该知道怎么去挂载webnotebook日志和容器的远程访问,但是这些还远不够,webnotebook 总要和一些数据库打交道吧,比如说mysql,mongodb,redis,通常情况下这些存储设备要么是以容器的方式承载,要么是由DBA在非容器环境下统一管理. 一:webnotebook连接容器redis

Docker 容器基本操作[Docker 系列-2]

?Docker 入门及安装[Docker 系列-1] 镜像就像是一个安装程序,而容器则是程序运行时的一个状态. 查看容器 查看容器 启动 docker 后,使用 docker ps 命令可以查看当前正在运行的容器: 查看所有容器 上面这条命令是查看当前正在运行的容器,如果需要查看所有容器,则可以通过 docker ps-a 命令查看: 在查看容器时,涉及到几个查看参数,含义分别如下: CONTAINER ID:CONTAINER ID是指容器的id,是一个唯一标识符,这是一个64位的十六进制整数

Docker系列(二)---容器

创建容器 新建容器 方法一: [[email protected]]# docker run -it centos:6 echo "hello" hello 方法二: [[email protected]]# docker create -it centos:6 echo "hello" c97b4ca48ce2f2065230398c57955c9ab9a31a3af9301217a626a16471697451 使用方法二创建的容易处于停止状态,使用docker

8天入门docker系列 —— 第二天 通过一个aspnetcore程序加深对容器的理解

我们知道容器是一个打包了应用和相关依赖的盒子,那怎么去操控这个盒子呢? 这一篇我通过一个简单的aspnetcore程序来加深对盒子的理解,使用之前先 安装一下Docker的环境. 一:Docker的安装 官方下载地址:https://docs.docker.com/install/linux/docker-ce/centos/ ,跟着文档执行完下面2个大步骤即可. 1.  SET UP THE REPOSITORY 2. INSTALL DOCKER CE 3. 启动docker 服务 4. 查