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

docker的基本命令

容器的三大组成

   镜像image  一个静态文件,特点:分层结构,不可更改

   容器container  镜像运行的结果,容器可以修改,运行完后直接停止

   仓库registry  用来存放镜像文件的地方

容器的常用命令介绍

   关于镜像的命令

   docker  pull  镜像名     //拉取镜像

   docker  inspect  镜像名     //查看镜像的详细信息

   docker  images                 //查看本地镜像

   docker  rmi    镜像名        //删除镜像

   docker  save  -o  xx.tar  httpd    //将镜像保存为压缩文件

   docker  load  -i  xx.tar        //将压缩文件的镜像载入到本地镜像

   docker  push  镜像名         //上传镜像到仓库

   docker  rmi  $(docker  images  -aq)    //删除所有本地镜像

  关于容器的命令

   docker  run  镜像名  //运行镜像

       -it   交互式并给定一个终端/bin/bash

       -d   后台运行

       --name   指定容器名

       -p  本机端口:容器端口     //指定映射端口

   docker  inspect   容器名     //可以查看容器的地址等详细信息

   docker  ps     //查看运行的容器

   docker  ps  -a   //查看运行过的和正在运行的容器

   docker  rm  容器名    //删除容器

   docker  rm  -f  容器名    //强制删除正在运行的容器

   docker  commit  容器名   镜像名:tag      //将容器提交成一个镜像

   docker  cp  容器名:/aa    本地路径         //容器到本机的文件复制

   docker  cp   本地路径    容器名:/aa      //本机到容器的复制

   docker  exec   -it   容器名   /bin/bash    //进入容器shell

   docker  attach  容器名           //进入容器

      exec 打开容器的新进程      attach 只用容器自身进程

   docker  start/stop/restart  容器名   //容器的启动/停止/重启

   docker  pause  容器名     //容器挂起

   docker  unpause  容器名    //将挂起的容器恢复运行

   docker  container  prune    //清空所有被停止的容器

实验:ubuntu系统

 1,拉取如下镜像

将centos:7 镜像保存为压缩文件上传到另一台安装了docker 的主机上并在其上载入压缩镜像

docker save -o centos7.tar centos:7

scp centos7.tar root@192.168.38.5:/root

另一台docker主机

docker load -i centos7.tar

分别运行ubuntu 和 centos:7 的镜像在后台运行

docker run -itd --name my-u ubuntu /bin/bash

docker run -itd --name my-c centos:7  /bin/bash

在运行的centos:7镜像容器中创建 centos7.repo 文件并配置本地yum 源

   docker exec -it my-c /bin/bash

   cd /etc/yum.repos.d/

   rm -rf *

   vi centos7.repo

   exit

将配置好本地yum 源的容器提交成新的镜像

    docker commit my-c centos7.1

运行新镜像查看yum 源是否保留

   docker run -itd --name my-c1 centos7.1 /bin/bash

   docker exec -it my-c1 /bin/bash

   cat /etc/yum.repos.d/centos7.repo

  

在 ubuntu 镜像容器中使用 apt update 更新 测试是否可以实现

   docker exec -it my-u /bin/bash

   apt update

复制本机的任意文件到ubuntu 容器中

docker cp nginx.sh  my-u:/root

docker exec -it my-u /bin/bash

ls /root

停止ubuntu 容器并删除容器

    docker  stop  my-u

   

     docker rm my-u  

强制删除centos:7 的镜像容器 只保留新的配好yum 源的容器

     docker rm -f my-c

分别运行 httpd 和 nginx 镜像 端口映射分别是 8081:80   8082:80

     docker run -d -p 8081:80 --name my-h httpd

     docker run -d -p 8082:80 --name my-n nginx

通过本机浏览器访问虚拟机ip +端口测试是否可以访问容器网页

    

    

在运行一个 httpd 但不映射端口 查看容器地址 用本机curl 访问容器网页

      docker run -d --name my-h1 httpd

      docker inspect my-h1

    

     curl 172.17.0.5

     

拉取镜像 busybox 

docker pull busybox

http://www.xdnf.cn/news/11917.html

相关文章:

  • AI界面遭劫持:Open WebUI被滥用于挖矿程序与隐蔽AI恶意软件
  • 如何快速找出某表的重复记录 - 数据库专家面试指南
  • 【力扣】3403. 从盒子中找出字典序最大的字符串 I
  • 判断:有那种使用了局部变量的递归过程在转换成非递归过程时才必须使用栈
  • AI批改作文的软件推荐:提升写作效率的智能工具
  • 厂商与经销商供应链数据协同:策略、实践与深度价值挖掘
  • 在WPS中如何启用宏VBA wps.vba.exe下载和安装
  • 【JVM】Java类加载机制
  • Python 多进程编程全面学习指南
  • Unity 大型手游碰撞性能优化指南
  • Axure高保真LayUI框架 V2.6.8元件库
  • [蓝桥杯]卡片换位
  • Modbus转EtherNET IP网关开启节能改造新范式
  • 细说C语言将格式化输出到字符串的函数sprintf、_sprintf_l、swprintf、_swprintf_l、__swprintf_l
  • IEC 61347-1:2015 灯控制装置安全标准详解
  • [Java 基础]创建人类这个类小练习
  • Python应用函数的定义与调用(一)
  • AI制药专利战:生命权VS专利权,谁在定价你的生命?
  • React Native开发鸿蒙运动健康类应用的项目实践记录
  • C++--vector的使用及其模拟实现
  • PaddleOCR v3.0.0 编译FAQ
  • itop-3568开发板机器视觉opencv开发手册-图像绘制-画线
  • UE接口通信
  • 代码随想录|动态规划|50编辑距离
  • Linux:理解库制作与原理
  • 《IDEA 高效开发:自定义类/方法注释模板详解》
  • 机器学习14-迁移学习
  • 【Linux】Linux权限
  • 在 Windows 系统下配置 VSCode + CMake + Ninja 进行 C++ 或 Qt 开发
  • docker常见命令行用法