Docker容器操作命令

发布时间:2021-07-26 14:44

泉州市青果网络科技有限公司

首先,容器简单而言,是基于镜像的一个运行实例,是独立运行的一个或一组应用以及其所必需的运行环境,包括文件系统、系统类库、shell环境等。镜像是只读模板,而容器会给这个只读模板一个额外的可写层。

接下来就容器来讲述具体的操作命令。

 

1、容器创建与启动

容器创建就是将镜像加载到容器的过程,因为是docker是轻量级的应用工具,用户可以随时进行创建或者删除。新建的容器默认处于停止状态,不允许任何程序,需要在其中发起一个进程来启动容器,这个进程就是这个容器的唯一进程,因此在该进程结束的时候,容器也会完全停止。停止的容器可以重新启动并且保留原来的修改。

容器的创建

容器创建命令:docker create

命令格式:docker create [OPTIONS] IMAGE [COMMAND] [ARG...]

常用的options:

-i:让容器的输入保持打开

-t:让docker分配一个伪终端

实例演示:

docker create -it nginx:latest /bin/bash

docker ps -a

相关说明:

CONTAINER ID:容器ID

IMAGE:使用的镜像

COMMAND

CREATED:显示操作时间

STATUS:显示状态,created表示已创建

PORTS:端口 信息和使用的连接类型(tcp/udp

NAMES:自动分配容器的名称

容器的启动

命令:docker start

命令格式:docker start [OPTIONS] CONTAINER [CONTAINER...]

实例演示:

docker start 124cf2fe4456

docker ps -a

启动后,发现端口信息出来了,并且显示是up状态,表示容器已经是启动状态了。

 

2、容器运行与终止

想要在运行中的容器停下来,使用docker stop 命令

命令格式:docker stop [OPTIONS] CONTAINER [CONTAINER...]

实例演示:

docker stop 124cf2fe4456

docker ps -a

 

3、容器的进入

想要进入容器进行相应操作时可以使用docker exec命令进入运行着的容器。

命令格式:docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

docker ps -a #检查容器是否是运行状态(up)



docker exec -it 124cf2fe4456 /bin/bash #进入伪终端

exit #使用exit退出伪终端

 

4、容器的导出和导入

类似镜像,用户也可以将容器从一台机器迁移到另一台机器。在迁移过程中,首先需要将已经创建好的容器导出为文件,使用docker export实现,无论这个容器是处于运行状态还是停止状态均可以导出。导出之后可将导出文件传输到其他机器,通过对应的导入命令实现迁移过程。

容器导出命令:docker export

命令格式:docker export [OPTIONS] CONTAINER

实例演示:一个运行状态一个停止状态,都演示

docker ps -a

运行中的容器导出:

docker export 124cf2fe4456 > nginx_contain

Ls

导出的文件从本地拷贝到远程服务器,之后使用docker import命令导入,成为镜像

容器导入命令:docker import

命令格式:docker import [OPTIONS] file|URL|- [REPOSITORY[:TAG]]

实例演示:

docker import centos_contain centos_new:54

或者使用cat 文件名 | docker import - 镜像名称:tag 执行命令也可以的

5、容器的删除

容器的删除:docker rm

命令格式:docker rm [OPTIONS] CONTAINER [CONTAINER...]

实例演示:

docker ps -a

docker rm

docker ps -a

删除成功了!

删除还在运行中的容器:

docker rm 124cf2fe4456

发现Error了,不能这样删除运行状态中的容器,提示你的操作是尝试删除容器前停止容器的运行或者强制删除

推荐前者,后者只需要如下操作,但尽量不要随意使用哈!

docker rm 124cf2fe4456 -f

docker ps -a

友情提示:docker默认的存储目录在/var/lib/docker目录下,docker的镜像、容器、日志等内容全部都存储在此,当然也可以单独使用大容量的分区来存储这些内容,并且一般选择建立在LVM逻辑卷,从而方便后续扩容操作。

本文导读