zoukankan      html  css  js  c++  java
  • 随便写的一些docker使用操作命令

    #只下载不安装
    yum install  --downloadonly  --downloaddir=/opt/soft   httpd
    
    
    yum install -y yum-utils device-mapper-persistent-data lvm2
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    yum install docker-ce -y
    
    systemctl start docker
    #镜像打包
    docker save  python:3.5  -o /home/python3.5.tar
    				镜像名
    
    
    #正在运行的容器打包 导出
    docker export  容器ID  > /home/python3.5.tar
    
    #导入1
    docker load --input aa.tar 
    cat aa.tar  |docker import - python:3.5
    							  导入名字:标签
    #导入2
    docker import  python3.5.tar  python3.5_env
    								导入的名字(自定义命名)
    
    
    
    #启动
    docker pull python:3.5
    docker run -d --name python3.5_env --privileged -it python:3.5  /bin/bash
    docker exec -it  容器ID   /bin/bash
    
    #上传文件至容器
    docker ps -a | grep  python3.5_env      
    docker cp  本地文件   容器ID:/容器内路径
    
    docker cp /Users/xubowen/Desktop/auto-post-advance.py 
    38ef22f922704b32cf2650407e16b146bf61c221e6b8ef679989486d6ad9e856:/root/auto-post-advance.py
    
    #外部运行
    docker run  -v $PWD:/usr/src/python  -w /usr/src/python python:3.5 python test.py
    
    
    
    # mysql
    docker pull mysql:5.7
    
    
    docker run -p 3306:3306 --name my5.7 -e MYSQL_ROOT_PASSWORD=12345678 -d mysql:5.7
    
    
    docker exec -it my5.7 /bin/bash
    
    # db2
    docker pull ibmcom/db2
    
    docker run --name db2-test -p 50000:50000 -e DB2INST1_PASSWORD=12345678 -e LICENSE=accept -d ibmcom/db2:latest bash
    
    
    
    
    
    
    
    #---------------------------------
    # 使用普通用户运行Docker
    1、使用root用户安装
    yum install -y yum-utils device-mapper-persistent-data lvm2
    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    yum install docker-ce -y
    
    
    useradd  test
    gpasswd -a test docker
    
    ---- 安装centos并运行
    docker run -dit -p --privileged --name=centos7 daocloud.io/centos:7 /usr/sbin/init
    docker run --name mycentos -p 8888:8080 -p 2222:22 -d -it centos:7 /bin/bash
    
    
    -- 把正在与运行的容器打包为镜像
    docker commit -a "runoob.com" -m "my apache" 容器名称或id 打包的镜像名称:标签
    OPTIONS说明:
    -a :提交的镜像作者;
    -c :使用Dockerfile指令来创建镜像;
    -m :提交时的说明文字;
    -p :在commit时,将容器暂停。
    
    
    -- 通过本地文件导入镜像
    
    cat 镜像文件 | docker import - 镜像名:标签
    
    
    docker run -tid -p 80:80 -p 2222:22 --privilaged --name centos-2 -v /root/centos7:/ mycentos:7 /usr/sbin/init
    
    docker run -name cemtos7 -d  -p 22222:22  -v /root/centos7:/ mycentos:7
    
    
    
    
    -- 把正在与运行的容器打包为镜像
    docker commit -a "runoob.com" -m "my apache" 容器名称或id 打包的镜像名称:标签
    OPTIONS说明:
    -a :提交的镜像作者;
    -c :使用Dockerfile指令来创建镜像;
    -m :提交时的说明文字;
    -p :在commit时,将容器暂停。
    
    -- 把镜像导出为文件
    docker save 镜像名:标签  -o  文件名.tar(路径) 
    
    -- 导入镜像
    docker load --input  文件名.tar
    #docker  import 文件名.tar  镜像名:标签
    
    -- 运行
    
    docker run --name ww -v /root/centos7:/root/aa -p 13:8080 -p 12:22 -d -it ww:7 /bin/bash
    docker run --privileged  --name ww -v /root/centos7:/root/aa -p 13:8080 -p 12:22 -d -it ww:7 /usr/sbin/init
    
    --name  定义容器名称
    -p   映射容器端口  宿主机端口:容器端口
    -P: 随机端口映射
    -v  映射容器目录   宿主机目录:容器目录
    -d  后台运行
    -h  指定容器hostname
    
    
    --env | -e 设置环境变量 如: pp=`hostname`   在容器中 pp
    --env-file=[]   从文件读取环境变量
    
    # ------ 限制磁盘  ------  默认没有限制,容器所在路径挂载点有多大,磁盘空间就会有多大。
    --storage-opt size=20g  (需开启xfs的pquota。)  quota 相关的配置都是 0 也就是default,(rw,relatime,seclabel,attr2,inode64,noquota)
    #=====   限制内存及swap   =================
    -m或--memory:设置内存的使用限额,例如 100M, 2G。   默认没有限制 为 -1
    --memory-swap:设置内存+swap的使用限额   ,默认没有限制  为 -1
    --memory="300m" --memory-swap="1g" 的含义为:
    容器可以使用 300M 的物理内存,并且可以使用 700M(1G -300M) 的 swap。--memory-swap 居然是容器可以使用的物理内存和可以使用的 swap 之和!
    #======	 cpu限制  ===================
    --cpus=2   限制使用核心数
    --cpuset-cpus="1"   指定那个核心上运行
    --cpuset="0-2" or --cpuset="0,1,2": 绑定容器到指定CPU运行;
    --volume , -v: 绑定一个卷
    
    
    # 查看容器的所有信息
    docker inspect  容器名/容器ID
    
    
    
    # docker下查看运行中的容器位置
    #默认位置
    /var/lib/docker/
    
    
    
    #-----   修改 images名称
    
    docker tag  要修改镜像ID   新镜像名:新标签
    
    方法一软连接
    
    
    # 其它命令
    docker logs 获取container的日志
    docker exec -it 容器名  env     获取容器环境变量, (执行容器内的 env命令)
    docker kill 杀掉一个容器
    
    
    #------------------------------
    Docker环境信息 — docker [info|version]
    容器生命周期管理 — docker [create|exec|run|start|stop|restart|kill|rm|pause|unpause]
    容器操作运维 — docker [ps|inspect|top|attach|wait|export|port|rename|stat]
    容器rootfs命令 — docker [commit|cp|diff]
    镜像仓库 — docker [login|pull|push|search]
    本地镜像管理 — docker [build|images|rmi|tag|save|import|load]
    容器资源管理 — docker [volume|network]
    系统日志信息 — docker [events|history|logs]
    #------------------------------
    #修改 docker时指定存储路径(这种方式修改,会影响原来的doker镜像及容器,相当于重新初始化了一个docker服务,修改为原来的路径,容器就回来 )
    vim   /usr/lib/systemd/system/docker.service 
    
    文本内容:ExecStart=/usr/bin/dockerd下面添加如下内容:
    
               --graph=/data/tools/docker
    
    如:
    ExecStart=/usr/bin/dockerd 
            --graph /data/tools/docker
    
    建议cp原来的路径下所有至 新路径下
    原来默认路径为:
    /var/usr/docker 
    systemctl daemon-reload
    
    systemctl restart docker 	 
    #----------------------
    
    
    
    解决 vim 中文乱码
     /etc/vimrc 追加如下:
    
    set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
    set termencoding=utf-8
    set encoding=utf-8
    

      

  • 相关阅读:
    StringUtils工具类的使用
    struts2 文件上传和下载,以及部分源代码解析
    ios开发之猜数字游戏
    从epoll构建muduo-12 多线程入场
    POJ3009 Curling 2.0(DFS)
    IOS-4-面试题1:黑马程序猿IOS面试题大全
    Android-Universal-Image-Loader载入图片
    《UNIX环境高级编程》读书笔记 —— 文件 I/O
    畅通project再续 HDU杭电1875 【Kruscal算法 || Prim】
    轻松学习之Linux教程四 神器vi程序编辑器攻略
  • 原文地址:https://www.cnblogs.com/small-wei/p/13803364.html
Copyright © 2011-2022 走看看