• [Linux]


    # 运行docker
    # -it表示前端运行
    docker run -it centos /bin/echo haha
    
    # 后端运行并映射80端口
    docker run -dt -p 80:80 --name mycentos my/os
    # 端口映射,IP访问限制
    docker run -dt -p 127.0.0.1:80:80 --name mycentos my/os
    
    # 不创建Container运行docker
    docker run --rm -it centos /bin/echo haha
    
    # 创建Container,起个名字
    docker run -it --name testecho centos /bin/echo haha
    
    # 重命名image
    docker tag image_name new_image_name
    
    # 运行centos的终端
    docker run -it centos /bin/bash
    
    # Container重命名
    docker rename nginx nginx_1
    
    #------------------------------------------------------------
    # 退出
    #------------------------------------------------------------
    # 在docker的centos终端退出,此退出会停止Container
    exit
    # 不停止Container情况下退出方法
    快捷键:ctrl + p, ctrl + q
    
    #------------------------------------------------------------
    # 运行Container
    #------------------------------------------------------------
    # 运行已经退出的docker centos终端
    docker start 0a2b06b59448
    # 运行并附加到container
    docker start -i ContainerID
    
    # 停止正在运行的docker centos终端
    docker stop 0a2b06b59448
    
    # 附加到docker终端Container,前提是此Container已经运行中
    docker attach 3b6165b7504a
    
    # 列出所有的Container
    docker ps -a
    
    # 打印docker的运行终端显示
    docker logs 81a4f43c74ed
    
    # 删除Container
    docker rm 3b6165b7504a
    
    # 删除所有Container
    docker rm $(docker ps -a)
    
    # 列出所有镜像
    docker images
    
    # 搜索镜像
    docker search centos
    
    # 下载镜像
    docker pull centos
    
    # 提交镜像
    docker commit mycentos my/os:latest
    
    #------------------------------------------------------------
    # 镜像导入导出及运行
    #------------------------------------------------------------
    # 导入容器为镜像文件
    docker export 3b6165b7504a > centos.tar
    
    # 导入镜像
    cat centos.tar | docker import - test/centos:v1.0
    
    # 运行导入的镜像
    docker run -it test/centos:v1.0 /bin/bash
    
    # 删除镜像
    docker rmi test/centos:v1.0
    
    # 查看docker的信息,包括安装路径、CPU、内存等
    docker info
    
    # Container执行命令,进入容器终端
    docker exec -it ContainerID bash
    # 进入容器终端
    nsenter --mount --uts --ipc --net --pid --target $(docker inspect --format "{{.State.Pid}}" "4cd5af004a52")
    
    # 查看Container的端口映射
    docker port ContainerID
    
    #------------------------------------------------------------
    # 动态设置运行时的环境变量
    # 使用参数--env
    # 查看Container的环境变量方法,可以进入Container的bash中运行命令:env
    #------------------------------------------------------------
    # 查看Container的环境变量
    docker exec -it nginx env
    # 查看Container的Host文件
    docker exec -it nginx cat /etc/hosts
    # 设置Container的环境变量
    docker run --rm -it --name test --env MYHOME=/home --env TEST=/home --env PATH=$PATH:/home centos bash
    # 也可以使用inspect查看Container的环境变量
    docker inspect nginx
    
    #------------------------------------------------------------
    # 端口映射,IP访问限制
    #------------------------------------------------------------
    docker run -dt -p 127.0.0.1:90:80 --name jetty img_jetty
    docker run -dt -p 127.0.0.1:91:80 --name jetty1 img_jetty
    docker run -dt -p 80:80 --name nginx --link jetty:java --link jetty1:java1 img_nginx
    
    #------------------------------------------------------------
    # 镜像保存与重加载
    #------------------------------------------------------------
    # 保存镜像
    docker save img_java > img_java.tar
    # 重新加载镜像
    docker load < img_java.tar
    # 查询镜像历史
    docker history img_java
    # 查看镜像信息Json
    docker inspect img_java
    
    #------------------------------------------------------------
    # 文件复制
    #------------------------------------------------------------
    # 从Container复制文件autorun.sh到Host主机的/home目录下
    # 也可以是目录复制
    docker cp test:/etc/init.d/autorun.sh /home
    # 从Host主机复制文件或文件夹到Container主机
    # 使用scp命令,如果没有安装scp,使用yum install openssh-clients
    # 首先需要使用docker exec进入到Container的终端
    scp -rp root@192.168.0.35:/home/jetty8/* /home/

      #------------------------------------------------------------
      # docker容器自动启动
      #------------------------------------------------------------
      docker run --restart=always redis

    #------------------------------------------------------------
    # 挂载数据卷
    # 参数privileged=true:意思给容器添加特权,比如对挂载卷的读写
    # 挂载多个数据卷,可以使用多次-v
    #------------------------------------------------------------
    # 创建数据卷容器,并挂载目录
    docker run -it --privileged=true -v /home/jetty8:/home/jetty8 --name jetty centos bash
    # 使用数据卷容器创建新的数据卷容器
    docker run -it --privileged=true --volumes-from jetty --name os centos bash
    
    #------------------------------------------------------------
    # 使用Dockerfile创建镜像
    #------------------------------------------------------------
    # 注意后面的一点不可少:.
    docker build -f dockerfile -t my/centos .
  • 相关阅读:
    SQL 统计两个表的数据,按同一日期分组
    SQL 隐藏手机号中间四位
    SVN本地代码未提交而被覆盖
    [转]VS2012 快捷键
    IE8下String的Trim()方法失效的解决方案
    IE8下导入EXCEL数据传到客户端以附件下载
    jenkins插件
    OJ练习28——T118 Pascal's Triangle
    OJ练习27——T112 Path Sum
    OJ练习26——T111 Minimum Depth of Binary Tree
  • 原文地址:https://www.cnblogs.com/HD/p/4806941.html
Copyright © 2020-2023  润新知