Docker容器服务(三)

一、创建容器

容器是Docker的另一个核心概念。

简单地说,容器是镜像的一个运行实例,所不同的是,它带有额外的可写文件层。

1.1创建一个容器

使用docker create命令创建的容器处于停止状态,需要执行docker start来启动它。

# docker create -it centos
# docker start nervous_neumann

 1.2 新建并启动容器

启动容器有两种方式,一种是基于镜像新建一个容器并启动,另外一个是将在终止状态的容器重启启动。使用docker run命令,等价于先执行docker create,再执行docker start命令。

[root@192-168-5-91 ~]# docker run -it --name my_centos centos /bin/bash
[root@e827685ac394 /]# ps
  PID TTY          TIME CMD
    1 pts/0    00:00:00 bash
   14 pts/0    00:00:00 ps

  -i:以交互的模式运行容器

  -t:为容器分配一个伪终端

  --name:为容器起一个名字

  /bin/bash:运行bash命令进入容器操作

1.3 退出容器

对于所创建的bash容器,当使用exit命令退出之后,该容器就自动处于终止状态,需要再执行docker start 启动容器。

若退出bash时,不退出容器则使用快捷键 ctrl + pq

 1.4 以守护模式运行centos镜像,如果本地没有镜像的话,则先去默认的仓库下载镜像文件。

  -d:以守护模式,容器进入后台运行

# docker run -d --name web-server nginx

 二、终止、启动容器

docker stop web-server
docker start web-server

 三、进入容器的方法

3.1 使用exec命令

docker exec -it web-server /bin/bash

3.2 使用accach命令

当多个窗口同时attach到一个容器时,所有的窗口都会同步显示。当某个窗口阻塞时,其它窗口也无法进行操作。

docker attach my-centos

3.3 使用nsenter命令

nsenter工具在util-linux包2.23版本后包含。

需要先获取容器的PID然后再进入容器中

# PID=$(docker inspect --format {{.State.Pid}} my-centos)
# nsenter --target $PID --mount --uts --ipc --net --pid

三、删除容器

# docker rm my-centos              # 删除终止状态的容器
# docker rm -f web-server          # 强制删除运行状态的容器,-v 删除容器挂载的数据卷
原文地址:https://www.cnblogs.com/cyleon/p/11868229.html