当前位置: 首页 > news >正文

docker容器操作

  Docker容器

   容器是Docker的另一个核心概念。简单来说,容器是镜像的一个运行实例。所不同的是,镜像是静态的只读文件,而容器带有运行时需要的可写文件层,同时,容器中的应用进程处于运行状态
 如何理解:类->实例,镜像->容器

命令

 创建容器(重点)
docker create -it centos:latest 
docker create -it --name tomcat01 centos:latest

 注1:命令说明
          create:关键字
          centos:latest:即镜像名字:版本(或镜像ID),将使用指定镜像创建容器。另外,Docker会检查本地是否存在指定的镜像,
                         不存在就从公有仓库下载
          -it:是两个参数,-i:interactive容器具有交互功能,-t:容器将提供伪终端
          --name:指定生成的容器的名字,允许空,如果不指定会自动生成

     注2:此时,通过如下命令,可以查看到刚刚创建的容器
          $ docker ps - a
     注3:create命令新建的容器处于停止状态,可以使用start命令来启动它
          $ docker start 容器ID
     注4:docker容器状态可参考“images/docker容器状态转换图.png”(重点~~~重点~~~重点~~~)
 

查看当前正在运行的容器
docker ps
加上-a
查看所有容器

 启动、停止、重启容器命令
 docker start 容器ID或name
 docker stop 容器ID或name
 docker restart 容器ID或name 

删除容器

     docker rm 容器ID/容器名称

     注1:主要支持的选项包括
          -f, --force=false 是否强行终止并删除一个运行中的容器
          -1, --link=false :删除容器的连接 ,但保留容器;
          -v, --volumes=false :删除容器挂载的数据卷

创建\启动\进入容器(run=create+start)
     
     ## 新建->启动->进入容器
      docker run -it centos:latest /bin/bash

     ## 指定了端口号
     docker run -it -p 7001:8001 centos:latest /bin/bash 

     ## 使用 -P 标记时,Docker 会随机映射一个 49000~49900 的端口     
      docker run -it -P --name tomcat03 centos:latest /bin/bash

     ## 此命令没有进入容器,可以之后再进入

     更多的时候,需要让 Docker 容器在后台以守护态( Daemonized )形式运行 此时,可以通过添加-d参数来实现:
     docker run -it -d --name webapp centos:latest 
      docker exec -it webapp /bin/bash  

     参数说明:
     -p:端口映射,格式为:主机(宿主)端口:容器端口
     -P: 注意是大写P,使用 -P 标记时,Docker 会随机映射一个 49000~49900 的端口
     -d:后台运行模式
     --name:容器的名字

退出容器

     退出时如果想继续运行容器:按顺序按【ctrl+p】,【ctrl+q】
     如果不想继续运行:按【ctrl+d】或输入exit

宿主机和docker容器之间复制文件

      docker cp 宿主机绝对路径  容器id:路径


查看Docker容器内部信息

   进入容器内部获取信息
     docker exec -it 容器ID/容器NAME /bin/bash
     如果此时已进入容器内部,可分别执行hostname、ip addr、env这三个命令可以获取相关信息
     hostname
     ip addr
     env

   在宿主机,执行docker exec命令
     获取容器的hostname:docker exec 容器ID/容器NAME hostname
     获取容器ip地址:docker exec 容器ID/容器NAME ip addr
     获取容器环境变量:docker exec 容器ID/容器NAME env

   在宿主机,使用docker inspect命令
     推荐使用docker inspect来获取信息,这个命令会返回一个json字符串,里面以key-value的格式准备了该容器相关的信息,
     内容十分丰富,可以一次性取得全部内容,也可以返回指定key对应的信息
     docker inspect 容器ID/容器NAME

     如果我们只对其中的一些感兴趣,例如hostname、ip地址、环境变量,该如何查看呢
     查看数据所在节点,根据节点位置编写命令,例如:
     hostname位于Config.Hostname这个节点位置,所以执行命令docker inspect -f {{.Config.Hostname}} tomcat001即可获取到hostname  
 

案例(centos)

下载镜像

docker pull centos

创建启动容器

docker run -it centos

加上 /bin/bash还会运行容器

退出容器

exit

查看镜像

docker images

查看运行容器

docker ps

根据id删除容器

docker rm

再创建启动容器,这次给名字,版本

docker run -itd --name c1  centos:latest

进入c1运行容器:

docker exec -it c1 bash

退出,但是不会停止运行

exit

再创建运行并指定端口

docker run -itd --name n1 -p 80:80 nginx

访问IP地址如下图


http://www.mrgr.cn/news/54655.html

相关文章:

  • 接口测试(三)jmeter——连接mysql数据库
  • 二叉树遍历(前序、中序、后续)
  • Snort浅析
  • 深度学习--CNN实现猫狗识别二分类(附带下载链接, 长期有效)
  • 【某农业大学计算机网络实验报告】实验四 路由信息协议RIP
  • 分布式---raft算法
  • 最近很火的ITIL证书是什么证书?
  • 软硬连接,Linux下的动静态库
  • Nat Comput Sci | 分而治之!基于子任务分解的单细胞扰动人工智能模型 STAMP
  • 洛谷 P1038 [NOIP2003 提高组] 神经网络(拓扑排序)
  • Redis之持久化机制和实现原理
  • C/C++程序员为什么要了解汇编?汇编语言的好处与学习路径详解
  • Python进阶语法
  • Vue request请求拦截 全局拦截Promise后 api请求捕获异常catch
  • day3:管道,解压缩,vim
  • 写一段代码判断素数的函数,从主函数中输出一个整数,判断它是否为素数。
  • ret2reg
  • 分布式缓存的基本概念入门以及如何保证数据一致性
  • Mysql数据库压缩版的卸载、安装及初始化
  • c++ 对象作用域
  • Java 类和对象详解(下)
  • Leetcode 3327. Check if DFS Strings Are Palindromes
  • 【动态规划】【路径问题】下降路经最小和、最小路径和、地下城游戏
  • 15. 三数之和 双指针经典题目
  • 【MySQL】to_date()日期转换
  • 模拟器芯片巨头 ADI 亚德诺半导体 Analog Devices 产品的应用介绍和物料推荐(六)