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

  • 相关阅读:
    Ubuntu 分辨率显示出错,分辨率不是最佳分辨率的解决办法
    xmr monero miner
    Win+数字快速启动/切换指定程序
    ajax 提交 form表单 ,后台执行两次的问题
    uploadify HTTP 302 错误如何解决?
    Uploadifive 上传'fileType'格式如何限制?
    服务器更新了php版本报错(PHP7.3)
    SourceTree软件
    Csdn账号如何注销?
    鸡翅怎么做好吃呢?
  • 原文地址:https://www.cnblogs.com/Luouy/p/10150240.html
Copyright © 2011-2022 走看看