来自:https://www.cnblogs.com/zydev/p/5803461.html

列出主机上的容器

列出正在运行的容器:            docker ps

列出所有容器:               docker ps -a

列出最近使用的容器,包括没有运行的:    docker ps -l

仅列出容器的ID,不包括没有运行的:        docker ps q

创建容器

参数:

--name  指定容器的名字

--rm      容器运行完毕会自动删除

-i -t       创建一个提供交互式shell的容器。

-d         在后台运行容器,并且打印出容器的ID。

创建交互式容器

[root@wls12c ~]$ docker run --name  weblogic -i -t centos /bin/bash
[root@35e3b0fa9dea /]# exit
exit

对于交互式容器,当退出shell后,容器会关闭。 后面可以通过命令重新启动容器。

创建守护式容器

这种容器指容器可以长期一直运行,没有交互式会话,非常适合容器中运行后台应用程序和服务(如数据库服务、web服务器等)。

[root@wls12c ~]$ docker run -d centos /bin/bash -c  "while true;do echo hello docker;sleep 1;done"
af2e15753ec8e27f5a7daad6881cd23c9e098330e9be66920e78e07e8844ac8c

启动和停止容器

docker start/stop/restart continer id/name

docker -t 可以指定时间停止容器,默认是10s

强制停止容器

docker kill continer id/name

附着到一个容器上

docker attach continer id/name

当重新启动容器时,会沿用创建容器(docker run)命令时指定的参数来运行,可能需要按回车才进入。

这时就已经相当于在容器内部了的shell操作了。如果操作过程中,退出了shell。容器也会随之停止。

[root@wls12c ~]$ docker run -i -t centos /bin/bash
[root@cf9b70252ba5 /]# exit
exit
[root@wls12c ~]$ docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
cf9b70252ba5 centos "/bin/bash" 22 seconds ago Exited (0) 11 seconds ago happy_bohr
[root@wls12c ~]$ docker start cf9
cf9
[root@wls12c ~]$ docker attach cf9
[root@cf9b70252ba5 /]#

在运行的容器中执行命令

[root@wls12c ~]$ docker exec -t -i af2 /bin/bash
[root@af2e15753ec8 /]# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 03:27 ? 00:00:00 /bin/bash -c while true;do echo hello docker;sleep
root 33 0 0 03:28 ? 00:00:00 /bin/bash
root 54 33 10 03:28 ? 00:00:00 ps -ef
root 55 1 0 03:28 ? 00:00:00 sleep 1

可以通过docker exec命令在容器内部额外启动新进程,退出容器,并不会停止容器。

查看容器的详细信息

查看容器的运行时后台输出信息

docker logs continer id/name

[root@wls12c ~]$ docker logs cf9
[root@cf9b70252ba5 /]# exit
exit
[root@cf9b70252ba5 /]# exit
exit
[root@cf9b70252ba5 /]#
[root@cf9b70252ba5 /]# exit
exit
[root@wls12c ~]$ docker logs af2
hello docker
hello docker
hello docker

利用docker inspect 命令可以查看容器更多的信息。 如ip地址等,这对守护容器还是很有意义的。

 

删除已经停止运行的容器

[root@wls12c ~]$ docker  stop af2
af2
[root@wls12c ~]$ docker rm af2
af2

一次删除所有停止的容器

[root@wls12c ~]$ docker rm $(docker ps -a -q)

查看容器内的改变信息

创建一个容器,会在容器的对应的镜像上增加一个可写层,镜像部分是只读的。通过 diff命令可以看出改变的信息。如:

[root@wls12c ~]$ docker run -i -t centos /bin/bash
[root@224de7986c5f /]# touch demo.ext
[root@224de7986c5f /]# echo hello docker >demo.ext
[root@224de7986c5f /]# rm -rf anaconda-post.log
[root@224de7986c5f /]# exit
exit
[root@wls12c ~]$ docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
224de7986c5f centos "/bin/bash" 40 seconds ago Exited (0) 3 seconds ago desperate_curie
[root@wls12c ~]$ docker diff 224d
D /anaconda-post.log
A /demo.ext
C /root
A /root/.bash_history

说明:每行代表一个变动的文件或目录。其中 A 表示新增、C表示被修改、D表示被删除

主机和容器之间的文件拷贝

容器--->主机

[root@wls12c ~]$ docker exec  -t -i 9f bin/bash
[root@9f49397623ad /]# cat demo.txt
hello
[root@9f49397623ad /]# exit
exit
[root@wls12c ~]$ docker cp 9f:/demo.txt /test
[root@wls12c ~]$ cat /test/demo.txt
hello

主机-->容器

[root@wls12c ~]$  cp ~/1.txt  /var/lib/docker/aufs/mnt/9f49397623ade7dfd2beb4d84454cbdb9878a4b22a2bab2e8b5db72bcffe60a0/test

[root@wls12c ~]$ docker exec   -t -i 9f   /bin/bash
[root@9f49397623ad /]# ls /test
1.txt

重命名容器

[root@wls12c ~]$ docker rename stoic_meitner demo

【Docker】容器操作(转)的更多相关文章

  1. Docker学习(三)docker容器操作

    上一篇:Docker学习(二)docker镜像操作 容器是基于镜像创建的,说白了把一个镜像运行起来就是容器 查看容器 docker ps 上面什么也没有,因为我们没有正在运行的容器,下面我门启动一个容 ...

  2. docker 容器操作( 以 tomcat 为例 )

    一.容器操作 一个镜像可以启动多个容器.比如一个 tomcat 镜像,可以启动多个tomcat 容器,启动后的这些 tomcat 都是各自独立的 二.步骤 1.搜索镜像 [root@localhost ...

  3. Docker 容器操作

    1. 创建并运行 一个容器 docker run -it --rm   centos:latest  bash run  运行容器 -it  以交互方式运行容器 --rm  退出容器后删除容器 cen ...

  4. Docker容器操作

    启动一次容器并执行命令(执行完命令后结束): docker run centos cat /etc/redhat-release 启动容器进入交互模式: docker run -i -t centos ...

  5. Docker 容器部署 Consul 集群

    Docker 容器部署 Consul 集群 一.docker安装与启动1.1安装docker[root@localhost /]# yum -y install docker-io 1.2更改配置文件 ...

  6. Docker学习(二)docker镜像操作

    上一篇:docker学习(一)在centos7上安装docker 列出所有docker镜像 docker images 拉取镜像 docker pull 镜像名 我这里一Tomact为例 首先在Doc ...

  7. docker--docker 容器操作

    6 docker 容器操作 容器是 docker 镜像的运行时实例. 6.1 创建容器 docker run [options] image command [ARG...]options选项: ‐i ...

  8. Docker 容器shell

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  9. Docker 容器(container)

    版权所有,未经许可,禁止转载 章节 Docker 介绍 Docker 和虚拟机的区别 Docker 安装 Docker Hub Docker 镜像(image) Docker 容器(container ...

  10. docker容器介绍

                       Docker容器 一.什么是Docker? Docker时Docker.Lnc公司开源的一个基于LXC技术之上搭建的Container容器引擎,源代码托管在Git ...

随机推荐

  1. Structured Streaming教程(3) —— 与Kafka的集成

    Structured Streaming最主要的生产环境应用场景就是配合kafka做实时处理,不过在Strucured Streaming中kafka的版本要求相对搞一些,只支持0.10及以上的版本. ...

  2. Linux设置和查看环境变量的方法 详解

    1. 显示环境变量HOME $ echo $HOME /home/redbooks 2. 设置一个新的环境变量hello $ export HELLO="Hello!" $ ech ...

  3. fastcgi协议分析与实例

    http://blog.csdn.net/tanswer_/article/details/78879905

  4. AngualrJS中每次$http请求时的一个遮罩层Directive

    在AngualrJS中使用$http每次向远程API发送请求,等待响应,这中间有些许的等待过程.如何优雅地处理这个等待过程呢? 如果我们在等待过程中弹出一个遮罩层,会是一个比较优雅的做法. 这就涉及到 ...

  5. .Net Core邮件发送之MailKit

    一 .在.Net Core中MailKit中提供了邮件的基础封装 它支持跨平台,并且支持 IMAP, POP3, SMTP 等协议 Nuget命令: Install-Package MailKit 官 ...

  6. go自动补全

    安装: get -u github.com/posener/complete/gocomplete gocomplete -install 卸载: gocomplete -uninstall http ...

  7. iOS开发-观察者模式

    观察者模式也被称作发布/订阅模式,观察者模式定义了一种一对多的依赖关系,让多个观察者对象同时监听某一个主题对象.这个主题对象在状态发生变化时,会通知所有观察者对象,使它们能够自动更新自己.观察者模式中 ...

  8. mongodb 字符串查找匹配中$regex的用法

    官网地址:https://docs.mongodb.com/manual/reference/operator/query/regex/#regex-case-insensitive 举个例子来说:现 ...

  9. HTML5 完美解决javascript中iphone手机和android手机复制文本到剪切板问题

    1.执行以下解决方案条件:(这个是原理) ①执行复制方法时 所复制文字不能被任何 块级元素和行内块元素和行内元素遮盖否则无效:(解决方案:将文本通过绝对定位或其他方式移除屏幕外) ②ios中不能复制属 ...

  10. Android launchMode SingleTask newIntent 的问题

    前置条件 项目中,采用 MainActivity + 3个 fragment 的模式作为主要框架.MainActivity 使用 singleTask 模式启动.Fragment 采用 show/hi ...