首页 > 其他分享 >docker的简单使用

docker的简单使用

时间:2022-12-06 21:25:25浏览次数:54  
标签:容器 run 简单 使用 镜像 docker ID

1. 镜像命令

1.1 查看本地镜像

1.1.1 docker images

1.1.2 docker image ls

1.2 下载镜像

docker pull 名字

1.3 删除镜像

1.4 搜索镜像

1.4.1 docker search 名字

参数--filter

  • 利用:如下显示stars不低于100的镜像

     docker search centos  --filter=stars=100
    

1.5 构建镜像

1.5.1 根据运行中的容器生成新的镜像

  • 原理:是将容器运行时的读写层变为只读层,作为镜像的一个新层

  • 使用过程:

    • 通过已经镜像运行容器,进入容器内

      docker run  -it --name mycentos8 centos:centos8  /bin/bash 
      
    • 进入容器修改相关内容,比如添加某个软件或者某个功能

    • 通过docker commit提交修改生成镜像

      docker commit -m "Add openssh server"  -a "hwadee"  -c "EXPOSE 22"  --change='CMD ["/sbin/sshd","-D"]'   3ce01aadf05e  centos8:ssh 
      
      • -m: 提交的描述信息
      • -a: 指定镜像作者
      • e218edb10161:容器 ID
      • runoob/ubuntu:v2: 指定要创建的目标镜像名
    • 使用新镜像生成容器或测试

      docker run -itd  -p 2222:22  centos8:ssh
      
    • 将新镜像push到容器仓库

  • 缺点:制作的透明性较差,如果多次修改可能会分层较多导致镜像臃肿,
    体积较大,影响运行效率。一般不推荐使用。

1.5.2 通过Dockerfile来制作镜像

详细链接:https://www.jianshu.com/p/eb4064392b3e

2. 容器命令

2.1 查看容器:docker ps

默认是查看运行中的容器

  • -a:查看所有状态的容器

    docker ps -a
    
  • -q:只查看容器的ID

    docker ps -q
    

2.2 运行容器:docker run

命令格式

docker run -参数 镜像名:tag 命令

如果镜像名是唯一的,不指定tag也可以

  • 如下是使用ubuntu镜像启动容器,并且进入交互式界面

    docker run -it ubuntu /bin/bash
    
    • -i:交互式操作
    • -t:终端
  • 如下是在上述的基础上后台运行容器

    docker run -itd ubuntu /bin/bash
    
    • -d:Run container in background and print container ID

2.3 停止容器:docker stop

  • 使用:

    docker stop 容器ID
    

2.4 重启容器:docker restart

  • 使用:

    docker restart 容器ID
    

2.5 进入容器

2.5.1 docker attach

  • 使用:

    docker attach 容器ID
    
  • 缺点:如果从这个容器退出,会导致容器的停止

2.5.2 docker exec

  • 命令格式:

    docker exec -it 容器ID /bin/bash
    

2.6 导出容器:docker export

  • 使用:

    docker export 容器ID > xxx.tar
    

2.7 导入容器:docker import

  • 使用:

    cat docker/xxx.tar | docker import - xxx:v1 
    

    此外,也可以通过指定的URL来导入

    docker import http://example.com/exampleimage.tgz example/imagerepo
    
  • 然后进行拷贝 ,注意:执行docker命令时一定要退出容器,否则报错

    从容器中拷出来是一样的,docker cp 后面的位置调换一下即可

    // docker cp 本地路径 容器长ID:容器路径

    //Docker CP local path container long ID: container path

    docker cp /usr/local/test.txt 38ef22f922704b32cf2650407e16b146bf61c221e6b8ef679989486d6ad9e856:/usr/local/tomcat/webapps test.txt
    
    docker cp /usr/local/test.txt 38ef22f922704b32cf2650407e16b146bf61c221e6b8ef679989486d6ad9e856:/usr/local/tomcat/webapps test.txt
    

2.8 查看容器端口情况

  • 使用:

    docker port 容器ID
    

3.容器内命令

3.1 查看容器内web日志

  • 使用:

    docker logs -f 容器ID
    

3.2 查看容器内部运行的进程

  • 使用:

    docker top 容器ID
    

3.3 查看Docker的底层信息

  • 使用:

    docker inspect 容器ID
    

标签:容器,run,简单,使用,镜像,docker,ID
From: https://www.cnblogs.com/W3-w/p/16960569.html

相关文章

  • 我这有个数据集,向取出每天每个国家确诊数量前30的数据,使用Pandas如何实现?
    大家好,我是皮皮。一、前言前几天在Python最强王者交流群【此类生物】问了一个Pandas处理的问题,提问截图如下:部分数据截图如下所示:二、实现过程这里【隔壁......
  • 大疆激光雷达使用
    https://livox-wiki-cn.readthedocs.io/zh_CN/latest/index.html           然后关闭防火         ......
  • 使用pycharm or vscode来编写python代码?
    pycharm社区版可用于商业项目pycharm社区版可用于商业项目,来源于官方的回答:CanIuseCommunityEditionsofJetBrainsIDEsfordevelopingcommercialproprietarysof......
  • Docker 启动前后端脚本
    后端docker提前运行consul,mongo,redis进入到Jar所在的文件夹(文件夹下只有一个Jar!)新建start.shCMDjar_name=$(ls-1-F*.jar)&&\java-Xms450m-Xmx450m......
  • 语言并不是使用Serverless跨不去的门槛
    语言并不是使用Serverless跨不去的门槛我们在使用Serverless进行开发的时候,你有没有想过这个问题,Serverless支持Java,Python,NodeJS等一些主流语言,那么碰到我们不支持的语言......
  • 很简单的源码剖析-SpringBoot内嵌Tomcat原理
    SpringBoot默认支持Tomcat,Jetty,和Undertow作为底层容器。而SpringBoot默认使用Tomcat,一旦引入spring-boot-starter-web模块,就默认使用Tomcat容器。<dependency><gr......
  • python制作简单的查询工具
    前言:利用python的flask框架制作简单的手机号码归属地查询工具。首先需要做两个页面,第一个页面收集用户的输入信息,点击“查询”按钮后,跳转到第二个页面,显示查询到的信息。一......
  • 洛谷月赛简单题目选做
    简单题目指黄+~蓝P5888传球游戏Easy考虑朴素dp,设\(dp[i][j]\),表示第\(j\)轮球在\(i\)手中的方案数,时间复杂度\(O(nm)\)。观察到如果两个人均不是\(1\)号......
  • python闭包使用(一)
     在python中,当定义了一个函数的时候,函数名实际上是定义了一个变量,指向了一片定义好的函数体,这意味着函数名,也就是定义了一个变量,这个变量存储着所定义的函数的引用......
  • Python (os模块 相对路径使用方法)
    导入os模块importos返回路径path1=os.path.abspath(__file__)print(path1)#当前文件的绝对路径game_folder=os.path.dirname(__file__)print(game_folder)#当前文件的相......