zoukankan      html  css  js  c++  java
  • Docker技术入门

    获取镜像
    从官方镜像获取镜像
    docker pull ubuntu:18.04
    从第三方仓库获取镜像
    docker pull hub.c.163.com/public/ubuntu:18.04
    --disable-content-trust:取消镜像的内容校验,默认为真
    创建一个容器,在其中运行bash应用
    docker run -it ubuntu:18.04 bash

    查看镜像信息
    使用image命令列出镜像
    docker images 或 docker image ls

    使用tag命令添加镜像标签
    docker tag ubuntu:latest myubuntu:latest

    使用inspect命令查看详细信息
    docker inspect ubuntu:18.04
    获取镜像的Architecture:
    docker inspect -f {{".Architecture"}} ubuntu:18.04

    使用history命令查看镜像历史
    docker history ubuntu:18.04

    搜寻镜像
    docker search nginx
    搜索官方提供的带nginx关键字的镜像
    docker search --filter=is-official=true nginx

    删除和清理镜像
    使用标签删除镜像
    docker rmi myubuntu:18.04
    如果要强行删除镜像
    docker rmi -f myubuntu:18.04
    使用镜像id来删除镜像
    docker ps -a
    docker rm a21c0840213e

    清理镜像
    删除没有被使用的镜像
    docker image prune
    删除所有无用镜像
    docker image prune -af
    -a:删除所有无用镜像
    -f:强制删除镜像

    创建镜像
    基于已有容器创建
    docker run it ubuntu:18.04 /bin/bash
    容器id为:a21c0840213e
    提交镜像
    docker commit -m "Add a new file" -a "Docker newbee" a21c0840213e test:0.1
    此时查看本地镜像,会发现新创建的镜像已经存在了
    docker images

    基于本地模版导入
    可以使用OpenVz提供的模版来创建
    https://blog.csdn.net/studywinwin/article/details/104856656
    下载模板 centos-7-x86_64-minimal.tar.gz
    http://openvz.mirror.digitalpacific.com.au/template/precreated/centos-7-x86_64-minimal.tar.gz
    将模板导入变为镜像
    cat centos-7-x86_64-minimal.tar.gz |docker import - centos7-min
    将镜像 centos7-min 运行为容器,进入到这个容器
    docker run -itd centos7-min bash
    docker ps
    docker exec -it d7692b0efaad bash
    把镜像导出为一个文件
    docker save -o 文件名 镜像名
    docker save -o peng-centos7.tar centos7-min

    基于Dokcerfile创建镜像
    https://www.cnblogs.com/andy9468/p/10715633.html

    存出和载入镜像
    存出镜像
    docker save -o ubuntu_18.04.tar ubuntu:18.04
    载入镜像
    docker load -i ubuntu_18.04.tar
    或者
    docker load < ubuntu_18.04.tar

    上传镜像
    用户在Docker Hub注册后可以上传自制的镜像。
    先对镜像添加新的标签,再使用docker push命令上传镜像
    docker tag test:latest user/test:latest
    docker push user/test:latest

    操作Docker容器
    创建容器
    docker create it ubuntu:18.04
    启动容器
    docker start myubuntu
    新建并启动容器
    docker run ubuntu /bin/echo "hello world"
    启动一个bash终端,允许用户进行交互
    docker run -it ubuntu:18.04 /bin/bash
    守护态运行
    在后台运行容器
    docker run -it -d ubuntu:18.04 /bin/bash
    查看容器输出
    docker logs d7692b0efaad

    停止容器
    暂停容器
    docker run --name=test --rm -it ubuntu bash
    docker pause test
    docker ps
    终止容器
    docker stop test
    docker stop d7692b0efaad

    进入容器
    1、attach命令
    docker run -itd ubuntu --name=myubuntu
    docker attach myubuntu
    2、exec命令
    docker exec -it d7692b0efaad /bin/bash

    删除容器
    docker rm -f d7692b0efaad

    导入和导出容器
    导出容器
    docker export -o test_for_run.tar myubuntu
    或者
    docker export myubuntu > test_for_run.tar
    导入容器
    docker import test_for_run.tar - test/ubuntu:v1.0

    查看容器
    查看容器详情
    docker container inspect test
    查看容器内进程
    docker top test
    查看统计信息
    docker status test

    其他容器命令
    复制文件data到test容器的tmp路径
    docker cp data test:/tmp/
    查看变更
    docker container diff test
    查看端口映射
    docker container port test
    更新配置
    docker update --cpu-quota 1000000 test
    docker update --cpu-period 100000 test

    容器端口映射
    1、映射所有接口地址
    docker run -it -d -p 5000:5000 3000:80 training/webapp python app.py
    2、映射到指定地址的指定端口
    docker run -it -d -p 127.0.0.1:5000:5000 3000:80 training/webapp python app.py
    3、映射到指定地址的任意端口
    docker run -it -d -p 127.0.0.1::5000 3000:80 training/webapp python app.py
    4、指定udp端口
    docker run -it -d -p 5000:5000/udp 3000:80 training/webapp python app.py
    5、随机映射一个49000-49900端口(-P)
    docker run -it -d -P training/webapp python app.py
    5、查看映射端口配置
    docker port webapp 5000

    容器互联
    1、创建一个数据库
    docker run -d --name=db training/postgres
    2、创建一个web容器,并连接到db容器
    docker run -d -p 5000:5000 --name=web --link db:db training/webapp python app.py
    --link name:alias alise是别名

  • 相关阅读:
    ExtAspNet应用技巧(二)
    JavaScript继承详解(六)
    ExtAspNet新版本发布,集成Extjs3.0,兼容IE浏览器
    ExtAspNet发展规划
    把Doc文档转换成rtf格式 (转载)
    提高Sql Server性能的10个技巧
    winform中树和数据库关联操作的例子(C#)
    为什么C#没有提供“缺省参数”
    让UML消失一段时间
    把RichTextBox中的文本保存到Sql Server中
  • 原文地址:https://www.cnblogs.com/micr067/p/15591249.html
Copyright © 2011-2022 走看看