zoukankan      html  css  js  c++  java
  • Docker 基本命令

    Docker 基本命令

    1.搜索docker镜像

    [root@node209 ~]# docker search hello-world

     

    2.下载docker镜像

    docker pull docker.io/hello-world

    3.查看docker镜像

    docker images

    docker image ls

    4.运行docker镜像

    docker run  IMAGE ID (镜像ID只需要前几个字符即可识别)

    [root@node209 ~]# docker run fce

    5.查看正在运行的docker容器

    docker container ls

    docker ps

    6.查看已经运行过的容器

    [root@node209 ~]# docker ps -a

     

    7.运行一个在后台的任务

    docker run -d centos /bin/sh -c "while true;do echo hello_docker; sleep 1;done"

    # 容器是运行应用程序的,所以必须要先有一个操作系统为基础

    # 运行一个在后台的任务

    docker run -d centos /bin/sh -c "while true;do echo hello_docker; sleep 1;done"

         -d         # 后台运行容器

         /bin/sh    # 指定使用centosbash解释器

         -c         # 运行一段shell命令

        "while true;do echo hello_docker; sleep 1;done"   # linux后台,每秒中打印一个hello_docker

    8.不间断打印容器的日志信息

    docker  logs  -f  容器id        # 不间断打印容器的日志信息

    9.进入运行的容器

    docker exec -it  CONTAINER IDNAMES /bin/bash

    docker exec -it 容器id

    docker attach 容器id

    如:

     

     

    10.交互式的运行一个容器,且进入容器(也就是开启并进入一个新的容器)

    docker run -it centos /bin/bash

    假如你没有centos这个镜像的话,它会自动从网上下载下来并运行

    11.删除docker镜像删除docker容器

    # 删除docker镜像

    docker rmi REPOSITORY/IMAGE ID

    如果使用REPOSITORY最后后面跟版本

    如果是镜像ID就不需要

    # 删除docker容器

    docker 容器id

    如果正在运行最后先docker stop 容器ID

     

    12.提交创建自定义的镜像(docker container commit)

    例如在docker里面安装一个vim然后再生产新的一个镜像过程:

    (1)我们进入交互式的centos容器中,发现没有vim命令

      docker run -it centos /bin/bash

    (2)在当前容器中,安装一个vim

      yum install -y vim

    (3)安装好vim之后,exit退出容器

      exit

    (4)查看刚才安装好vim的容器记录

    docker container ls -a

     

    (5)提交这个容器,创建新的image,

    根据上面截图获取容器ID: b93d3b3ad45a

    docker commit b93d3b3ad45a  zero/centos-vim

    # zero/centos-vim 为自定义的镜像名

     

    6.查看镜像文件

    [root@node209 ~]# docker images

    REPOSITORY           TAG                 IMAGE ID            CREATED             SIZE

    zero/centos-vim      latest              11c8cef9ccb0        12 seconds ago      326 MB

    13.导出镜像

    #  zero/centos-vim 为镜像名

    docker save zero/centos-vim > /opt/mycentos.tar.gz

     

    14.导入镜像

    docker load < /opt/mycentos.tar.gz

     

    15.启动容器与停止容器

    docker stop 容器id

    docker start 容器id

     

    16.新建容器并且启动

    新建一个容器并输出hehe

    docker run centos /bin/echo "hehe"  # 这跟在本地直接执行 /bin/echo'hehe'

     

    新建容器并自定义一个名字mycontainer

    docker run --name mycontainer -it centos /bin/bash  # 启动一个bash终端,允许用户进行交互。

    查看的时候运行容器中多了一个名为mycontainer的容器

    17.运行一个ubuntu容器

    运行一个容器并进入终端

    [root@node209 opt]# docker run -it centos /bin/bash

    [root@4a96c773a085 /]#

    18.查看所有的docker容器ID和镜像ID

    # 查看所有的docker容器记录ID

    docker ps -aq

    # 查看所有的docker镜像ID

    docker images -aq

    # 删除所有的已经运行过的docker容器记录

    docker rm `docker ps -aq`

    # 删除所有的docker镜像

    docker rmi `docker images -aq

    19.查看指定容器的端口映射

    docker port 容器ID

    20.容器内的进程

    docker top 容器id

     

    21.外部访问容器

    (1)在容器内跑一个app.py程序, 运行在5000端口

    (2)使用-P参数随机映射一个端口到虚拟机上

    docker run -d -P training/webapp python app.py

    ​    -P 参数会随机映射端口到容器开放的网络端口

    ​    如果本地没有这个镜像,docker run会自动为我们下载镜像然后运行

     

    这边随机映射了32768端口

     

    (3)使用-p参数自定义一个端口到虚拟机上, 如9000端口

    docker run -d -p 9000:5000 training/webapp python app.py

    (4)我们可以通过虚拟机的IP 加端口9000进行访问

     

    22.查看容器详细信息

    # docker inspect 容器ID

    [root@node209 ~]# docker inspect ab56bba91343

  • 相关阅读:
    rac11.2.0.4私网公网修改
    OGG应用复制进程报错OGG 01161
    顺序容器vector拷贝使用总结
    C++迭代器(STL迭代器)
    C++容器(STL容器)
    win10桌面和手机的扩展API,判断是否有实体后退键API
    python Django 之 Model ORM inspectdb(数据库表反向生成)
    flask框架-大结局
    flask框架-下
    flask框架-中
  • 原文地址:https://www.cnblogs.com/hszstudypy/p/11565231.html
Copyright © 2011-2022 走看看