三、docker容器的常用命令
系列导航
root@node03 ~]# docker container
Usage: docker container COMMAND
Manage containers
Commands:
attach Attach local standard input, output, and error streams to a running container
commit Create a new image from a container's changes
cp Copy files/folders between a container and the local filesystem
create Create a new container
diff Inspect changes to files or directories on a container's filesystem
exec Run a command in a running container
export Export a container's filesystem as a tar archive
inspect Display detailed information on one or more containers
kill Kill one or more running containers
logs Fetch the logs of a container
ls List containers
pause Pause all processes within one or more containers
port List port mappings or a specific mapping for the container
prune Remove all stopped containers
rename Rename a container
restart Restart one or more containers
rm Remove one or more containers
run Run a command in a new container
start Start one or more stopped containers
stats Display a live stream of container(s) resource usage statistics
stop Stop one or more running containers
top Display the running processes of a container
unpause Unpause all processes within one or more containers
update Update configuration of one or more containers
wait Block until one or more containers stop, then print their exit codes
1、运行容器docker run
$ docker run --name nginx-test -p 8081:80 -d nginx
参数说明:
- --name nginx-test:容器名称。
- -p 8081:80: 端口进行映射,将本地 8081 端口映射到容器内部的 80 端口。
- -d nginx: 设置容器在在后台一直运行。
docker run -it –name centos6 centos:6.9 /bin/bash
-it :分配交互式的终端
-name :指定容器的名字
/bin/sh : 覆盖容器的初始命令
运行容器指定名称
不指定名称容器名称是任意的

2、查看容器的列表 docker ps
(1)只看正在运行的容器
[root@node01 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
24defbb5755b nginx "nginx -g 'daemon of…" 19 hours ago Up 19 hours 0.0.0.0:8081->80/tcp nginx-test1
字段解释:
CONTAINER ID :容器id
IMAGE:镜像名称
COMMAND:启动容器时启动的命令
CREATED:创建了多长时间
STATUS:最后一次启动后运行了多久
PORTS:端口占用和映射情况
NAMES:容器名称
(2)查看所有的容器
[root@node01 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
24defbb5755b nginx "nginx -g 'daemon of…" 19 hours ago Up 19 hours 0.0.0.0:8081->80/tcp nginx-test1
6d28826ceacc nginx "nginx -g 'daemon of…" 19 hours ago Created nginx-test
查看最后一个运行的容器
[root@node03 ~]# docker ps -a -l
3、启动容器进入容器
[root@node03 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9dc5421ea021 nginx:latest "nginx -g 'daemon of…" 7 weeks ago Exited (0) 7 weeks ago reverent_lamport
7cb788123876 ubuntu:15.10 "/bin/bash" 2 months ago Exited (0) 8 weeks ago blissful_lewin
[root@node03 ~]# docker start 7cb788123876
7cb788123876
[root@node03 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7cb788123876 ubuntu:15.10 "/bin/bash" 2 months ago Up 9 seconds blissful_lewin
[root@node03 ~]# docker run -it --name ubuntu_yc ubuntu:15.10
root@cde36937797f:/# ls
bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
例子:拉取centos镜像运行
[root@node03 ~]# docker pull centos:6.9
[root@node03 ~]# docker run -it --name centos_yc centos:6.9
[root@cb2089a95653 /]# ifconfig
eth0 Link encap:Ethernet HWaddr 02:42:AC:11:00:03
inet addr:172.17.0.3 Bcast:172.17.255.255 Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:648 (648.0 b) TX bytes:0 (0.0 b)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 b) TX bytes:0 (0.0 b)
[root@cb2089a95653 /]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 12:25 pts/0 00:00:00 /bin/bash
root 13 1 0 12:25 pts/0 00:00:00 ps -ef
[root@cb2089a95653 /]# exit
[root@node03 ~]#
4、容器启动后面命令
命令是容器在启动的时候要执行的命令,不跟命令启动默认的命令
例如如果跟了ps -ef 那么执行完容器就运行完毕
[root@node03 ~]# docker run -it ubuntu:15.10 ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 12:47 pts/0 00:00:00 ps -ef
root@node03 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a7837d2a610f ubuntu:15.10 "ps -ef" 49 seconds ago Exited (0) 48 seconds ago agitated_rhodes
5、进入一个正在运行的容器
(1)attach进入容器
[root@node03 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cb2089a95653 centos:6.9 "/bin/bash" 11 minutes ago Up 4 seconds centos_yc
7cb788123876 ubuntu:15.10 "/bin/bash" 2 months ago Up 48 minutes blissful_lewin
[root@node03 ~]# docker attach cb2089a95653
[root@cb2089a95653 /]#
注:使用attach进入容器如果有多个客户端,客户端会同步所有操作,有任何一个窗口退出ctrl+c退出容器,容器就死了。如下图所示

(2)exec进入容器
画面不同步

进入容器后推出的时候ctrl +p 然后ctrl+q退出后容器不会死

6、停止一个容器
root@node03 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cb2089a95653 centos:6.9 "/bin/bash" 26 minutes ago Up 14 minutes centos_yc
7cb788123876 ubuntu:15.10 "/bin/bash" 2 months ago Up About an hour blissful_lewin
停止容器
[root@node03 ~]# docker stop cb2089a95653
cb2089a95653
[root@node03 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7cb788123876 ubuntu:15.10 "/bin/bash" 2 months ago Up About an hour blissful_lewin
杀死容器
[root@node03 ~]# docker kill 7cb788123876
7cb788123876
[root@node03 ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
7、删除容器
[root@node03 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
a7837d2a610f ubuntu:15.10 "ps -ef" 8 minutes ago Exited (0) 8 minutes ago agitated_rhodes
cb2089a95653 centos:6.9 "/bin/bash" 31 minutes ago Exited (0) 4 minutes ago centos_yc
cde36937797f ubuntu:15.10 "/bin/bash" About an hour ago Exited (127) 47 minutes ago ubuntu_yc
9dc5421ea021 nginx:latest "nginx -g 'daemon of…" 7 weeks ago Exited (0) 7 weeks ago reverent_lamport
7cb788123876 ubuntu:15.10 "/bin/bash" 2 months ago Exited (137) 4 minutes ago blissful_lewin
[root@node03 ~]# docker rm 7cb788123876
强制删除一个正在运行的容器
[root@node03 ~]# docker rm -f 7cb788123876
一次删除所有容器

删除所有容器
docker rm `docker ps -a -q`
强制删除所有容器
docker rm -f `docker ps -a -q`
8、修改容器中文件(容器里没有vi等工具)
[root@node03 ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9dc5421ea021 nginx:latest "nginx -g 'daemon of…" 7 weeks ago Exited (0) 7 weeks ago reverent_lamport
[root@node03 ~]# docker cp 9dc5421ea021:/etc/nginx/nginx.conf /root
[root@node03 ~]# ls
anaconda-ks.cfg initial-setup-ks.cfg nginx.conf openstack-swift-object ubuntu:v1.tar.gz
[root@node03 ~]# docker cp /root/nginx.conf 9dc5421ea021:/etc/nginx/nginx.conf
总结:
docker容器内的第一个进程必须一直处于前台运行的状态(必须夯住),否则这个容器就会处于退出状态。
三、docker容器的常用命令的更多相关文章
- docker 容器管理常用命令
Docker 容器管理: docker create -it centos //这样可以创建一个容器,但该容器并没有启动: create Create a new container 创建一个容器: ...
- Docker容器操作中常用命令集合
docker pull 从仓库获取所需要的镜像 docker images 显示本地已有的镜像. docker commit 提交更新后的副本. docker build 创建一个新的镜像 ADD 复 ...
- docker系列四之docker镜像与容器的常用命令
docker镜像与容器的常用命令 一.概述 docker的镜像于容器是docker中两个至关重要的概念,首先给各位读者解释一下笔者对于这两个概念的理解.镜像,我们从字面意思上看,镜子里成像,我们人 ...
- docker 安装与常用命令与常用容器(containers)环境
注意区别 container 与 image 的关系,container 的建立需要 image 的承载,也即 container 依赖 image,停止并删除了 container 并不会删除 im ...
- Docker基础和常用命令
Docker基础和常用命令 一,Docker 简介 1.1,什么是 Docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现,基于 Linux 内核的 cgroup,nam ...
- Docker 入门指南——常用命令
前面已经介绍了 Docker 的安装方式,本文总结一下使用 Docker 的基本概念和常用命令. 基本概念 镜像 Image 镜像是一些打包好的已有的环境,可以被用来启动和创建容器 容器 Contai ...
- Docker系列之常用命令操作手册
目录 1.安装虚拟机 2.安装Docker 3.Docker镜像操作 4.Docker容器操作 Docker系列之常用命令操作手册 继上一篇博客Docker系列之原理简单介绍之后,本博客对常用的Doc ...
- Docker CLI docker buildx build 常用命令
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...
- Docker CLI docker buildx bake 常用命令
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的 Linux或Windows操作系统的机器上,也可以实现虚拟化.Docker是内核 ...
- 一、Linux概述 二、Linux的安装 三、Linux的常用命令(重点)
一.Linux概述###<1>操作系统 OS,管理和控制 计算机的 硬件和软件资源的 计算机程序. 最基本的系统软件. 是用户和计算机交互的桥梁,是硬件和软件交互的桥梁. 操作系统:she ...
随机推荐
- 用EXCEL VBA 做的学生成绩分析系统
标题:基于EXCEL VBA的学生成绩分析系统--详细介绍与说明导言:学生成绩分析对于教育机构和学生个体来说具有重要意义.本文将详细介绍基于EXCEL VBA的学生成绩分析系统的设计与实现.通过该系统 ...
- WinForm窗体间传值的方法
窗体间传递数据,无论是父窗体操作子窗体,还是子窗体操作符窗体,有以下几种方式: 1.公共静态变量:2.使用共有属性:3.使用委托与事件:4.通过构造函数把主窗体传递到从窗体中: 一.通过静态变量特点: ...
- Net 高级调试之十二:垃圾回收机制以及终结器队列、对象固定
一.简介 今天是<Net 高级调试>的第十二篇文章,这篇文章写作时间的跨度有点长.这篇文章我们主要介绍 GC 的垃圾回收算法,什么是根对象,根对象的存在区域,我们也了解具有析构函数的对象是 ...
- .NET Conf China 2023 活动纪实 抢先看
今天2023年12月16日.NET Conf China 2023举办的日子,北京昨天上午还在飘起雪花,到今天早上的天气就有了极大的改观,大清早就能看到外面徐徐升起的朝阳,这也预示着今天将是一个大 ...
- JWT 简介与 C# 示例
〇.什么是 JWT ? JWT,即 JSON Web Token,是一种基于 JSON 的开放标准(RFC 7519),主要用于在网络应用环境间安全地传递声明.这种声明被进行了数字签名,可以验证和信任 ...
- 使用cgroup控制内存
关键文件 memory.limit_in_bytes memory.soft_limit_in_bytes memory.memsw.limit_in_bytes tasks cgroup.procs ...
- 非工程师指南: 训练 LLaMA 2 聊天机器人
引言 本教程将向你展示在不编写一行代码的情况下,如何构建自己的开源 ChatGPT,这样人人都能构建自己的聊天模型.我们将以 LLaMA 2 基础模型为例,在开源指令数据集上针对聊天场景对其进行微调, ...
- CF650A Watchmen
首先解释一下题目里面的两个概念: 曼哈顿距离:即 \(|x_a - x_b| + |y_a - y_b|\) 欧几里得距离:即 \(\sqrt{(x_a - x_b) ^ 2 + (y_a - y_b ...
- python中,如何优雅的解析和管理命令行参数
背景 我们在编写python程序时,程序中经常会提供多种功能或者模式,在实际使用时根据不同的参数使用不同的功能.那么如何获取命令行传入进来的参数呢? 一般方法 一般情况下,我们会使用 sys 模块,如 ...
- Mock服务设计与实现:MySQL驱动字节码修改增强
摘要:华为导流测试平台通过对线上流量回放到被测环境中,利用线上真实流量进行充分测试,保证业务系统稳定上线.但是业务在导流测试过程中现网数据库往往难以同步到测试环境,导致现网数据无法正常回放,测试价值降 ...