美文网首页
dock使用

dock使用

作者: __周__ | 来源:发表于2018-09-09 15:10 被阅读0次

    docker使用

    0x01 存出和载入镜像

    存出镜像

    如果要导出镜像到本地文件,可以使用 docker save 命令。

    $ sudo docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             VIRTUAL SIZE
    ubuntu              14.04               c4ff7513909d        5 weeks ago         225.4 MB
    ...
    $sudo docker save -o ubuntu_14.04.tar ubuntu:14.04
    

    载入镜像

    可以使用 docker load 从导出的本地文件中再导入到本地镜像库,例如

    $ sudo docker load --input ubuntu_14.04.tar
    
    或
    
    $ sudo docker load < ubuntu_14.04.tar
    

    这将导入镜像以及其相关的元数据信息(包括标签等)。

    0x02 外网端口映射并且开机启动

    外网端口映射

     docker run -d -p 80:80 medicean/vulapps:b_bash_shellshock1
     
     映射后并进入虚拟主机
     
    docker run  -i -t  -p 20024:22 centos6:lamp /bin/bash
     
    前面的宿主的端口,后面的虚拟机的端口
    

    开机启动

    vim   /etc/rc.local 
    
    #!/bin/sh -e
    #
    # rc.local
    #
    # This script is executed at the end of each multiuser runlevel.
    # Make sure that the script will "exit 0" on success or any other
    # value on error.
    #
    # In order to enable or disable this script just change the execution
    # bits.
    #
    # By default this script does nothing.
    
    docker run -d -p 80:80 medicean/vulapps:b_bash_shellshock1
    exit 0
    

    0x03 docker镜像导入与导出

    打包镜像

    docker save -o b_bash_shellshock1.tar medicean/vulapps:b_bash_shellshock1
    

    导入镜像

    docker load < debian02.tar   #导入镜像
    
    docker images   #查看存在的镜像
    

    0x04 docker容器提交为最新镜像

    docker commit <容器id>  debian02 #把这个容器提交生成新的debian02镜像(该镜像是原始镜像与容器的整合)
    

    0x05 删除镜像

    如果要移除本地的镜像,可以使用 docker rmi 命令。注意 docker rm 命令是移除容器。

    $ sudo docker rmi training/sinatra
    Untagged: training/sinatra:latest
    Deleted: 5bc342fa0b91cabf65246837015197eecfa24b2213ed6a51a8974ae250fedd8d
    Deleted: ed0fffdcdae5eb2c3a55549857a8be7fc8bc4241fb19ad714364cbfd7a56b22f
    Deleted: 5c58979d73ae448df5af1d8142436d81116187a7633082650549c52c3a2418f0
    

    删除所有已经停止的容器

    docker rm $(docker ps -a -q)
    

    杀死所有正在运行的容器

    docker kill $(docker ps -a -q)
    

    删除From它来创建的新的镜像,可以先save,删除新的镜像。(这是个坑,一定要注意)

    注意:在删除镜像之前要先用 docker rm 删掉依赖于这个镜像的所有容器。
    例:

    在直接删除images时会报错,会提示这个images被某个容器引用。这时先删除容器就行了。
    root@ubuntu:~# docker rmi 2a89da0d202c
    Error response from daemon: conflict: unable to delete 2a89da0d202c (must be forced) - image is being used by stopped container db88f7
    root@ubuntu:~# docker rm db88f72be24f
    db88f72be24f
    root@ubuntu:~# docker rmi 2a89da0d202c
    Untagged: medicean/vulapps:b_bash_shellshock1
    Deleted: sha256:2a89da0d202c0de32dc53c26295c0dc05d5487fcaae87d7e71d8fd7844943329
    Deleted: sha256:ee4ceee5216269abc932e24dbe0f520a2a0eec413f1660d3926a2a33ade07eb5
    Deleted: sha256:b9fe9c83f16b0faa61d5b1b7674af329fea8bfe41b8cfbd94aa6ab71900914cc
    Deleted: sha256:3b0ebc0108f7c9ccc7e1dfaed5a402ec29cdd84c9e45b5648236751fa0193f84
    Deleted: sha256:77c1d32cacbde4acd3dbddaa203f91761f8fe13bb181835a1019d83d9ccec2cf
    Deleted: sha256:043ecf5c20e7481ae621e17b04e0e5924861f0b4fd8075b53ee38e44d852bb8f
    Deleted: sha256:da7b3e8a328046694cb61a8dbf9e8f1a088f94521cd7d9ceb91a4aefd59d32b5
    Deleted: sha256:0a76c056ffdd75aa174adcd05e4201e3503cb1abbf2013ed603ad5afb001891b
    Deleted: sha256:2f71b45e4e254ddceb187b1467f5471f0e14d7124ac2dd7fdd7ddbc76e13f0e5
    

    0x06复制镜像并重命名

    docker tag imageid name:tag

    0x07 启动镜像命令行

    docker run -t -i cfe7ee52cb6e /bin/bash

    0x07 attach容器命令

    docker exec -it webmail bash
    docker run -itd -p 80:80 --name=phpoa phpoa

    0x08 docker 映射宿主机文件(/home/srcms/mysql)到容器(/var/lib/mysql)中

    nohup docker run --name srcms -p 4040:80 -v /home/srcms/mysql:/var/lib/mysql -d --restart=always srcms

    chcp 65001

    相关文章

      网友评论

          本文标题:dock使用

          本文链接:https://www.haomeiwen.com/subject/gtfdgftx.html