• 3 docker容器


    一 创建容器

    1 docker run

    创建容器常用的参数说明:
    -i:表示运行容器
    -t:表示容器启动后会进入其命令行。加入这两个参数后,容器创建就能登录进去。即
    分配一个伪终端。
    --name :为创建的容器命名。
    -v:表示目录映射关系(前者是宿主机目录,后者是映射到宿主机上的目录),可以使 用多个-v 做多个目录或文件映射。注意:最好做目录映射,在宿主机上做修改,然后 共享到容器上。
    -d:在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会 自动登录容器,如果只加-i -t 两个参数,创建后就会自动进去容器)。
    -p:表示端口映射,前者是宿主机端口,后者是容器内的映射端口。可以使用多个-p 做多个端口映射
    以交互方式运行容器: docker run -i -t --name 容器名称 repository:tag /bin/bash docker run -it --name 容器名称 imageID /bin/bash
    以守护进程方式运行容器: docker run -di --name 容器名称 repository:tag docker run -di --name 容器名称 imageID
    注意:通过 run 创建并进入容器之后,如果使用 exit 命令退出容器,则容器停止。再次进入该容器,先使用 start 启动容器,再使用 exec/attach 命令进入容器。

    2 docker create

    docker create --name mycontainer1 centos:7
    

    但通过docker ps命令无法看到创建的容器,因为容器没有启动;需要使 用start命令

    二 启动容器

    docker start CONTAINER ID/NAME
    命令:run、create、start
    • 区别:run = create + start
    • 示例: • docker create --name mycontainer1 mycentos
    但通过docker ps命令无法看到创建的容器,因为容器没有启动;需要使 用start命令
    • docker start 1a93677f84f5(后面是container ID) • docker run -d --name mycontainer2 mycentos(直接使用run命令)

    三 进入容器

    进入正在运行的容器的命令如下:
    docker exec -it 容器名称或者容器 ID /bin/bash docker attach 容器名称或者容器 ID
    两者之间的区别: attach 进入容器之后,如果使用 exit 退出容器,则容器停止。 exec 进入容器之后,使用 exit 退出容器,容器依然处于运行状态。

    四 查看容器

    docker ps :查看正在运行的容器
    docker ps -a:查看历史运行过的容器
    docker ps -l:查看最近运行过的容器

    五 停止容器

    docker stop 容器名称或者容器 ID

    六 删除容器

    删除指定容器:
    docker rm 容器名称或者容器 ID
    删除所有容器:
    docker rm docker ps -a -q

    七 容器中复制文件

    docker cp 源文件 目标文件 比如:
    docker cp /root/boot.war my-centos:/usr/local/
    说明: /root/boot.war 是宿主机器的路径 my-centos 是容器的名称 /usr/local/是容器内的路径
    注意:源文件可以是宿主机器也可以是容器中的文件,同样,目标文件可以是容器也可以是宿主机器的文件。

    八 容器日志

    查看指定时间后的日志,只显示最后100行:
    docker logs -f -t --since="2018-02-08" --tail=100 CONTAINER_ID
    查看最近30分钟的日志:
    docker logs --since 30m CONTAINER_ID
    查看某时间之后的日志:
    docker logs -t --since="2018-02-08" CONTAINER_ID
    实时查看日志
    docker logs -f -t --tail 行数 容器名

    九 删除已经停止的容器

    显示所有的容器,过滤出Exited状态的容器,取出这些容器的ID,
    sudo docker ps -a|grep Exited|awk '{print $1}'
    查询所有的容器,过滤出Exited状态的容器,列出容器ID,删除这些容器
    sudo docker rm docker ps -a|grep Exited|awk '{print $1}'

    十 docker 容器的端口映射和镜像提交

    10.1 下载一个tomcat镜像并启动
    docker pull tomcat
    docker run -it -p8888:8080 tomcat #前台启动,映射的端口为8888

    docker run -d -P tomcat #后台启动,映射的端口为随机端口

    10.2 查看映射的端口,下面两个都是随机端口

    10.3 浏览器访问

    5.4 镜像提交-定制自己想要的镜像

    docker commit -a "hnf" 353ac85b6017 hnf/tomcat02:1.2  
    # -a 作者信息  353ac85b6017 为容器id , hnf 为命名空间,tomcat02:1.2是新镜像的名字
    

    然后用刚才提交的镜像,去生成一个新的容器,下面是我新提交的镜像

     docker run -d -P hnf/tomcat02:1.2   #利用新的镜像去生成一个新的容器
    

    如下图:

  • 相关阅读:
    c++ namespace简单用法
    python2编码问题
    python dict()函数 /// logging模块///yield//生成器和迭代器
    python 对于一个字典,根据其value值获取其对应的keys值
    python 包/库/模块
    python __init()__
    python continue 和 break的区别
    python list去重
    linux命令,将一个文件夹中的内容copy到另外一个文件夹
    python 正则(re.compile()/re.findall())
  • 原文地址:https://www.cnblogs.com/huningfei/p/12706340.html
Copyright © 2020-2023  润新知