zoukankan      html  css  js  c++  java
  • Linux中docker的使用

    # 列出当前所有正在运行的容器
    $ docker ps

    # 列出所有的容器
    $ docker ps -a

    # 列出最近一次启动的容器
    $ docker ps -l

    # 查看容器的相关信息
    $ docker inspect $CONTAINER_ID

    删除某一个容器:
    docker rm 容器id
    =========================================================================
    当利用 docker run 来创建容器时,Docker 在后台运行的标准操作包括:

    检查本地是否存在指定的镜像,不存在就从公有仓库下载
    利用镜像创建并启动一个容器
    分配一个文件系统,并在只读的镜像层外面挂载一层可读写层
    从宿主主机配置的网桥接口中桥接一个虚拟接口到容器中去
    从地址池配置一个 ip 地址给容器
    执行用户指定的应用程序
    执行完毕后容器被终止

    =========================================================
    查看系统中存在的镜像
    [root@izuf63bjp8ts8nkl13pxh1z ~]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    docker.io/centos latest 67591570dd29 12 weeks ago 191.8 MB
    ================================================================
    创建一个新的容器:
    docker run -i -t centos /bin/bash
    查看运行中的容器id:
    [root@izuf63bjp8ts8nkl13pxh1z /]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    71d5ec72a193 centos "/bin/bash" 56 minutes ago Up 56 minutes prickly_albattani
    0f72d2a74111 centos "/bin/bash" About an hour ago Up About an hour condescending_poitras

    在容器71d5ec72a193中修改文件。
    想要退出但不销毁,可以CTRL+p+q。这是容器71d5ec72a193还是在后台运行的。
    然后重新连接可以使用命令:
    docker attach 71d5ec72a193 
    或者是用下面命令:
    docker exec -it CONTAINER_ID /bin/bash 进入指定容器
    用exec 的话,则用exit退出后,不会被销毁。

    哪怕容器被销毁了,也可以重新进入:
    docker start 71d5ec72a193 
    docker attach 71d5ec72a193 
    =================================================
    构建镜像的两种方法:

    方法一.使用docker commit 命令
    方法二.使用docker build命令和Dockerfile文件

    方法一:
    [root@izuf63bjp8ts8nkl13pxh1z ~]# docker images --查看系统中目前有的镜像
    REPOSITORY TAG IMAGE ID CREATED SIZE
    docker.io/centos latest 67591570dd29 12 weeks ago 191.8 MB


    [root@izuf63bjp8ts8nkl13pxh1z ~]# docker commit 71d5ec72a193 docker.io/centos-fx01 --根据容器id=71d5ec72a193 创建一个镜像,创库是docker.io,新生成的镜像名是centos-fx01
    sha256:6f86477df3c7a929b2ca8d9eee32cf278302f5eccd51338927d351ab0f9066b4


    [root@izuf63bjp8ts8nkl13pxh1z ~]# docker images --查看系统中目前有的镜像,生成一个新的镜像centos-fx01成功
    REPOSITORY TAG IMAGE ID CREATED SIZE
    docker.io/centos-fx01 latest 6f86477df3c7 29 seconds ago 191.8 MB
    docker.io/centos latest 67591570dd29 12 weeks ago 191.8 MB


    [root@izuf63bjp8ts8nkl13pxh1z ~]# docker run -it centos-fx01 /bin/bash --用这个新建的镜像创建一个容器


    root@806b7e2c0201 /]# ls --新建的容器id=806b7e2c0201


    [root@izuf63bjp8ts8nkl13pxh1z ~]# docker ps -a --查看所有容器,可以看到容器id=806b7e2c0201 对于的镜像是centos-fx01 
    CONTAINER ID   IMAGE              COMMAND CREATED STATUS PORTS NAMES
    806b7e2c0201   centos-fx01       "/bin/bash" 57 seconds ago Exited (0) 6 seconds ago kickass_kare
    71d5ec72a193   centos               "/bin/bash" 3 hours ago Exited (0) 8 minutes ago prickly_albattani
    0f72d2a74111   centos               "/bin/bash" 3 hours ago Exited (0) About an hour ago condescending_poitras

    ======================================================

    创建一个新容器,并且让宿主机的目录挂载到容器目录中:
    docker run -i -t -v /data/software/:/data/software/ centos-fx01 /bin/bash

    给容器重命名:
    docker rename oldC newC

    删除镜像(需要停止容器):
    docker stop $(docker ps -a -q)
    docker rmi <image id>

    转自:https://www.cnblogs.com/afangxin/p/6548326.html

  • 相关阅读:
    Java RunTime Environment (JRE) or Java Development Kit (JDK) must be available in order to run Eclipse. ......
    UVA 1597 Searching the Web
    UVA 1596 Bug Hunt
    UVA 230 Borrowers
    UVA 221 Urban Elevations
    UVA 814 The Letter Carrier's Rounds
    UVA 207 PGA Tour Prize Money
    UVA 1592 Database
    UVA 540 Team Queue
    UVA 12096 The SetStack Computer
  • 原文地址:https://www.cnblogs.com/Luouy/p/10150240.html
Copyright © 2011-2022 走看看