6 docker 容器操作

容器是 docker 镜像的运行时实例。

6.1 创建容器

docker run [options] image command [ARG...]
options选项: ‐i、‐t、‐d、‐‐name
‐i:交互式容器
‐t:tty,终端
‐d:后台运行,并且打印容器id
sh /usr/local/tomcat7/bin/startup.sh(shell脚本  #/bin/bash  py  rb  lua)
Linux:根的进程:/bin/bash  tree
/xxx                
/yyy                    
eg:创建的容器名称不能重复
创建交互式容器:创建后进去容器
docker run -i -t --name=c1 centos /bin/bash
交互式容器省写
docker run -it --name c2 centos /bin/bash
创建守护式容器:后台运行,创建后打印id,并未进去容器
docker run -itd --name c3 centos /bin/bash

6.2 进入容器

方式一:
docker attach 容器名称/id (ps:exit,容器停止)               
eg:docker attach u3
方式二:
docker exec ‐it 容器名称/id /bin/bash    (ps:exit,容器不会停止)
eg:docker exec ‐it c3 /bin/bash

6.3 查看容器

docker ps:查看正在运行的容器
docker ps ‐a:查看运行过的容器(历史)
docker ps ‐l:最后一次运行的容器

6.4 停止/启动容器

docker start 容器名称/id
docker stop 容器名称/id

6.5 获取容器/镜像的元数据

查看容器/镜像全部信息:
docker inspect 容器/镜像
查看容器/镜像部分信息:
docker inspect ‐f='{{.NetworkSettings.IPAddress}}' 容器/镜像
‐f:可通过‐‐format代替

6.6 删除容器

删除一个容器:
docker rm 容器名称/id
删除多个容器:
docker rm 容器名称1/id1 容器名称2/id2 ...
删除所有容器
docker rm `docker ps ‐a ‐q`
PS:无法删除正在运行的容器

6.7 查看容器日志

docker logs 容器名称/id

6.8 文件拷贝

如果我们需要将文件拷贝到容器内可以使用cp命令

docker cp  需要拷贝的文件或目录 容器名称:容器目录
例如:docker cp 1.txt c2:/root

也可以将文件从容器内拷贝出来

docker cp  容器名称:容器目录 需要拷贝的文件或目录
例如:docker cp c2:/root/2.txt /root

6.9 目录挂载

我们可以在创建容器的时候,将宿主机的目录与容器内的目录进行映射,这样我们就可 以通过修改宿主机某个目录的文件从而去影响容器。 创建容器 添加-v参数 后边为 宿主机目录:容器目录

docker run ‐id ‐‐name=c4 ‐v /opt/:/usr/local/myhtml centos

如果你共享的是多级的目录,可能会出现权限不足的提示

permission denied

这是因为 CentOS7中的安全模块selinux把权限禁掉了,我们需要添加参数 -- privileged=true 来解决挂载的目录没有权限的问题

docker run ‐id ‐‐privileged=true ‐‐name=c4 ‐v /opt/:/usr/local/myhtml
centos

docker--docker 容器操作的更多相关文章

  1. Docker.[4].容器操作.

    Docker.[4].容器操作. 熟悉的指令: 启动容器 docker run 交互式启动容器 docker run -i -t IMAGENAME /bin/bash 停止容器 exit 停止容器 ...

  2. Docker基础-容器操作

    1.创建容器 1.新建容器 可以使用docker create命令新建一个容器. [root@linux-node1 ~]# docker create -it ubuntu:latest ffc90 ...

  3. Docker的容器操作

    启动一次性运行的容器 入门级例子:从ubuntu:14.04镜像启动一个容器,成功后在容器内部执行/bin/echo 'hello world'命令,如果当前物理机没有该镜像,则执行docker pu ...

  4. 【Docker】容器操作(转)

    来自:https://www.cnblogs.com/zydev/p/5803461.html 列出主机上的容器 列出正在运行的容器:   docker ps 列出所有容器:  docker ps - ...

  5. Docker:镜像操作和容器操作

    镜像操作 列出镜像: $ sudo docker images REPOSITORY TAG IMAGE ID CREATED VIRTUAL SIZE hello-world latest 0a6b ...

  6. centos7下安装docker(11容器操作总结)

    这段时间主要是学习了对容器的操作,包括:容器的状态:start,stop,restart,rename,pause,unpause,rm,attach,exec,kill,logs:还学习了对容器的资 ...

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

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

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

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

  9. 二、docker 镜像容器常用操作(让我们用docker 溜得飞起)

    前言 上篇讲了我们如何安装docker,现在该我们一展拳脚的时候了.接下来让我们一起学习一下docker常见的操作,让我们能够会使用 docker. 基本概念 在讲使用之前,还是先将一下docker ...

  10. Docker 容器操作

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

随机推荐

  1. ztree多种数据包装以及相关设置

    首先来一个完整的ztree代码 html代码 <form id="addTreeDataFrm" method="post" class="fo ...

  2. Luogu P3170 [CQOI2015]标识设计 状态压缩,轮廓线,插头DP,动态规划

    看到题目显然是插头\(dp\),但是\(n\)和\(m\)的范围似乎不是很小.我们先不考虑复杂度设一下状态试试: 一共有三个连通分量,我们按照\(1,2,3\)的顺序来表示一下.轮廓线上\(0\)代表 ...

  3. 解决input 中placeholder的那些神坑

    **昨天后台小哥哥提到placehold无法显示问题,我这边总结一下,顺便写个小文章分享给大家..** ============================================== 一 ...

  4. Groovy assert 断言抛字出来

  5. git提示Please enter a commit message to explain why this merge is necessary

    Please enter a commit message to explain why this merge is necessary. 请输入提交消息来解释为什么这种合并是必要的(提交信息) gi ...

  6. 【leetcode】689. Maximum Sum of 3 Non-Overlapping Subarrays

    题目如下: In a given array nums of positive integers, find three non-overlapping subarrays with maximum ...

  7. (66)Nginx+lua+Redis开发

    一. 概述 Nginx是一个高性能,支持高并发的,轻量级的web服务器.目前,Apache依然web服务器中的老大,但是在全球前1000大的web服务器中,Nginx的份额为22.4%.Nginx采用 ...

  8. 组件内导航之beforeRouteUpdate的使用

    使用场景: 组件复用:路由跳转: beforeRouteUpdate (to, from, next) { // 在当前路由改变,但是该组件被复用时调用 // 举例来说,对于一个带有动态参数的路径 / ...

  9. 7.并发编程--多线程通信-wait-notify

    并发编程--多线程通信-wait-notify 多线程通信:线程通信的目的是为了能够让线程之间相互发送信号; 1. 多线程通信: 线程通信的目的是为了能够让线程之间相互发送信号.另外,线程通信还能够使 ...

  10. Oracle数据库备份还原

    导出备份的命令: 开始->运行->cmd->exp username/password@tns_name file=d:\backup.dmp 导入备份的命令: 开始->运行- ...