zoukankan      html  css  js  c++  java
  • Docker: docker image常用命令实战


    #docker列出镜像
    [root@192 ~]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    nginx latest 881bd08c0b08 6 days ago 109MB
    #docker:查看镜像名为nginx的镜像历史
    [root@192 ~]# docker history nginx
    IMAGE CREATED CREATED BY SIZE COMMENT
    881bd08c0b08 6 days ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon… 0B
    <missing> 6 days ago /bin/sh -c #(nop) STOPSIGNAL SIGTERM 0B
    <missing> 6 days ago /bin/sh -c #(nop) EXPOSE 80 0B
    <missing> 6 days ago /bin/sh -c ln -sf /dev/stdout /var/log/nginx… 22B
    <missing> 6 days ago /bin/sh -c set -x && apt-get update && apt… 54MB
    <missing> 6 days ago /bin/sh -c #(nop) ENV NJS_VERSION=1.15.9.0.… 0B
    <missing> 6 days ago /bin/sh -c #(nop) ENV NGINX_VERSION=1.15.9-… 0B
    <missing> 6 days ago /bin/sh -c #(nop) LABEL maintainer=NGINX Do… 0B
    <missing> 6 days ago /bin/sh -c #(nop) CMD ["bash"] 0B
    <missing> 6 days ago /bin/sh -c #(nop) ADD file:5ea7dfe8c8bc87ebe… 55.3MB
    #docker:查看镜像名为nginx的镜像历史,查看完整内容,不被截取,CREATED By 一行对应dockfile文件的一行命令
    [root@192 ~]# docker history --no-trunc nginx
    IMAGE CREATED CREATED BY SIZE COMMENT
    sha256:881bd08c0b08234bd19136957f15e4301097f4646c1e700f7fea26e41fc40069 6 days ago /bin/sh -c #(nop) CMD ["nginx" "-g" "daemon off;"] 0B
    <missing> 6 days ago /bin/sh -c #(nop) STOPSIGNAL SIGTERM 0B
    <missing> 6 days ago /bin/sh -c #(nop) EXPOSE 80 0B
    <missing> 6 days ago /bin/sh -c ln -sf /dev/stdout /var/log/nginx/access.log && ln -sf /dev/stderr /var/log/nginx/error.log 22B
    <missing> 6 days ago /bin/sh -c set -x && apt-get update && apt-get install --no-install-recommends --no-install-suggests -y gnupg1 apt-transport-https ca-certificates && NGINX_GPGKEY=573BFD6B3D8FBC641079A6ABABF5BD827BD9BF62; found=''; for server in ha.pool.sks-keyservers.net hkp://keyserver.ubuntu.com:80 hkp://p80.pool.sks-keyservers.net:80 pgp.mit.edu ; do echo "Fetching GPG key $NGINX_GPGKEY from $server"; apt-key adv --keyserver "$server" --keyserver-options timeout=10 --recv-keys "$NGINX_GPGKEY" && found=yes && break; done; test -z "$found" && echo >&2 "error: failed to fetch GPG key $NGINX_GPGKEY" && exit 1; apt-get remove --purge --auto-remove -y gnupg1 && rm -rf /var/lib/apt/lists/* && dpkgArch="$(dpkg --print-architecture)" && nginxPackages=" nginx=${NGINX_VERSION} nginx-module-xslt=${NGINX_VERSION} nginx-module-geoip=${NGINX_VERSION} nginx-module-image-filter=${NGINX_VERSION} nginx-module-njs=${NJS_VERSION} " && case "$dpkgArch" in amd64|i386) echo "deb https://nginx.org/packages/mainline/debian/ stretch nginx" >> /etc/apt/sources.list.d/nginx.list && apt-get update ;; *) echo "deb-src https://nginx.org/packages/mainline/debian/ stretch nginx" >> /etc/apt/sources.list.d/nginx.list && tempDir="$(mktemp -d)" && chmod 777 "$tempDir" && savedAptMark="$(apt-mark showmanual)" && apt-get update && apt-get build-dep -y $nginxPackages && ( cd "$tempDir" && DEB_BUILD_OPTIONS="nocheck parallel=$(nproc)" apt-get source --compile $nginxPackages ) && apt-mark showmanual | xargs apt-mark auto > /dev/null && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; } && ls -lAFh "$tempDir" && ( cd "$tempDir" && dpkg-scanpackages . > Packages ) && grep '^Package: ' "$tempDir/Packages" && echo "deb [ trusted=yes ] file://$tempDir ./" > /etc/apt/sources.list.d/temp.list && apt-get -o Acquire::GzipIndexes=false update ;; esac && apt-get install --no-install-recommends --no-install-suggests -y $nginxPackages gettext-base && apt-get remove --purge --auto-remove -y apt-transport-https ca-certificates && rm -rf /var/lib/apt/lists/* /etc/apt/sources.list.d/nginx.list && if [ -n "$tempDir" ]; then apt-get purge -y --auto-remove && rm -rf "$tempDir" /etc/apt/sources.list.d/temp.list; fi 54MB
    <missing> 6 days ago /bin/sh -c #(nop) ENV NJS_VERSION=1.15.9.0.2.8-1~stretch 0B
    <missing> 6 days ago /bin/sh -c #(nop) ENV NGINX_VERSION=1.15.9-1~stretch 0B
    <missing> 6 days ago /bin/sh -c #(nop) LABEL maintainer=NGINX Docker Maintainers <docker-maint@nginx.com> 0B
    <missing> 6 days ago /bin/sh -c #(nop) CMD ["bash"] 0B
    <missing> 6 days ago /bin/sh -c #(nop) ADD file:5ea7dfe8c8bc87ebe0d06d275bce41e015310bdfc04546246302e9ce07ee416c in / 55.3MB
    #docker工作目录
    [root@192 ~]# ls /var/lib/docker
    builder buildkit containers image network overlay2 plugins runtimes swarm tmp trust volumes
    #overlay2是镜像驱动
    [root@192 ~]# ls /var/lib/docker/overlay2/
    3ad0bc68ee6c3e92492a5d56b107da1834e0f22c8849016604b5110f8c67c8c8
    772eafb718462ae983f10fd78795b4fe73b46640e7e956ffb9571eee3ef85ea0
    backingFsBlockDev
    c04bd3d232d46217bc57de00dc47b3bad9d9aa478398b41cfeae3a187092610d
    e15b4ab77eaa30d5a08cdff1cb80a2ea5ab2815cc254a466fdf9a050ecb0f198
    e15b4ab77eaa30d5a08cdff1cb80a2ea5ab2815cc254a466fdf9a050ecb0f198-init
    #查看运行中的容器
    [root@192 ~]# docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    56dd5fb4e962 nginx "nginx -g 'daemon of…" 3 hours ago Up 3 hours 0.0.0.0:8800->80/tcp jolly_chatterjee
    #进入容器:CONTAINER ID=56dd5fb4e962 并打开一个终端
    [root@192 ~]# docker container exec -it 56dd5fb4e962 bash
    #在容器中,查看文件系统
    root@56dd5fb4e962:/# ls
    bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
    #查看操作系统
    root@56dd5fb4e962:/# cat /etc/issue
    Debian GNU/Linux 9 l
    #debian系统用的是apt软件管理包
    root@56dd5fb4e962:/# apt
    apt 1.4.9 (amd64)
    Usage: apt [options] command

    apt is a commandline package manager and provides commands for
    searching and managing as well as querying information about packages.
    It provides the same functionality as the specialized APT tools,
    like apt-get and apt-cache, but enables options more suitable for
    interactive use by default.

    Most used commands:
    list - list packages based on package names
    search - search in package descriptions
    show - show package details
    install - install packages
    remove - remove packages
    autoremove - Remove automatically all unused packages
    update - update list of available packages
    upgrade - upgrade the system by installing/upgrading packages
    full-upgrade - upgrade the system by removing/installing/upgrading packages
    edit-sources - edit the source information file

    See apt(8) for more information about the available commands.
    Configuration options and syntax is detailed in apt.conf(5).
    Information about how to configure sources can be found in sources.list(5).
    Package and version choices can be expressed via apt_preferences(5).
    Security details are available in apt-secure(8).
    This APT has Super Cow Powers.
    #退出容器
    root@56dd5fb4e962:/# exit
    exit
    #查看docker帮助
    [root@192 ~]# docker --help

    Usage: docker [OPTIONS] COMMAND

    A self-sufficient runtime for containers

    Options:
    --config string Location of client config files (default "/root/.docker")
    -D, --debug Enable debug mode
    -H, --host list Daemon socket(s) to connect to
    -l, --log-level string Set the logging level ("debug"|"info"|"warn"|"error"|"fatal") (default "info")
    --tls Use TLS; implied by --tlsverify
    --tlscacert string Trust certs signed only by this CA (default "/root/.docker/ca.pem")
    --tlscert string Path to TLS certificate file (default "/root/.docker/cert.pem")
    --tlskey string Path to TLS key file (default "/root/.docker/key.pem")
    --tlsverify Use TLS and verify the remote
    -v, --version Print version information and quit

    Management Commands:
    builder Manage builds
    config Manage Docker configs
    container Manage containers
    engine Manage the docker engine
    image Manage images
    network Manage networks
    node Manage Swarm nodes
    plugin Manage plugins
    secret Manage Docker secrets
    service Manage services
    stack Manage Docker stacks
    swarm Manage Swarm
    system Manage Docker
    trust Manage trust on Docker images
    volume Manage volumes

    Commands:
    attach Attach local standard input, output, and error streams to a running container
    build Build an image from a Dockerfile
    commit Create a new image from a container's changes
    cp Copy files/folders between a container and the local filesystem
    create Create a new container
    diff Inspect changes to files or directories on a container's filesystem
    events Get real time events from the server
    exec Run a command in a running container
    export Export a container's filesystem as a tar archive
    history Show the history of an image
    images List images
    import Import the contents from a tarball to create a filesystem image
    info Display system-wide information
    inspect Return low-level information on Docker objects
    kill Kill one or more running containers
    load Load an image from a tar archive or STDIN
    login Log in to a Docker registry
    logout Log out from a Docker registry
    logs Fetch the logs of a container
    pause Pause all processes within one or more containers
    port List port mappings or a specific mapping for the container
    ps List containers
    pull Pull an image or a repository from a registry
    push Push an image or a repository to a registry
    rename Rename a container
    restart Restart one or more containers
    rm Remove one or more containers
    rmi Remove one or more images
    run Run a command in a new container
    save Save one or more images to a tar archive (streamed to STDOUT by default)
    search Search the Docker Hub for images
    start Start one or more stopped containers
    stats Display a live stream of container(s) resource usage statistics
    stop Stop one or more running containers
    tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
    top Display the running processes of a container
    unpause Unpause all processes within one or more containers
    update Update configuration of one or more containers
    version Show the Docker version information
    wait Block until one or more containers stop, then print their exit codes

    Run 'docker COMMAND --help' for more information on a command.
    #列出镜像
    [root@192 ~]# docker image ls
    REPOSITORY TAG IMAGE ID CREATED SIZE
    nginx latest 881bd08c0b08 6 days ago 109MB
    #列出容器
    [root@192 ~]# docker container ls
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    56dd5fb4e962 nginx "nginx -g 'daemon of…" 3 hours ago Up 3 hours 0.0.0.0:8800->80/tcp jolly_chatterjee
    #显示nginx镜像详细信息
    [root@192 ~]# docker image inspect nginx
    [
    {
    "Id": "sha256:881bd08c0b08234bd19136957f15e4301097f4646c1e700f7fea26e41fc40069",
    "RepoTags": [
    "nginx:latest"
    ],
    "RepoDigests": [
    "nginx@sha256:b878833bf4fc397c8c681c0d59b47a339935c2d99692148077b27f406a1c78be"
    ],
    "Parent": "",
    "Comment": "",
    "Created": "2019-03-05T04:34:40.803983958Z",
    "Container": "82067b49ee8c4bc91d386798148f1f2cfdb0ff39076873c8d40e1e1baf521eb7",
    "ContainerConfig": {
    "Hostname": "82067b49ee8c",
    "Domainname": "",
    "User": "",
    "AttachStdin": false,
    "AttachStdout": false,
    "AttachStderr": false,
    "ExposedPorts": {
    "80/tcp": {}
    },
    "Tty": false,
    "OpenStdin": false,
    "StdinOnce": false,
    "Env": [
    "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
    "NGINX_VERSION=1.15.9-1~stretch",
    "NJS_VERSION=1.15.9.0.2.8-1~stretch"
    ],
    "Cmd": [
    "/bin/sh",
    "-c",
    "#(nop) ",
    "CMD ["nginx" "-g" "daemon off;"]"
    ],
    "ArgsEscaped": true,
    "Image": "sha256:4a9060e0ac21710c70f99ec2fb604b1c2847ced2acf10e4d4e86905d554dc685",
    "Volumes": null,
    "WorkingDir": "",
    "Entrypoint": null,
    "OnBuild": null,
    "Labels": {
    "maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>"
    },
    "StopSignal": "SIGTERM"
    },
    "DockerVersion": "18.06.1-ce",
    "Author": "",
    "Config": {
    "Hostname": "",
    "Domainname": "",
    "User": "",
    "AttachStdin": false,
    "AttachStdout": false,
    "AttachStderr": false,
    "ExposedPorts": {
    "80/tcp": {}
    },
    "Tty": false,
    "OpenStdin": false,
    "StdinOnce": false,
    "Env": [
    "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
    "NGINX_VERSION=1.15.9-1~stretch",
    "NJS_VERSION=1.15.9.0.2.8-1~stretch"
    ],
    "Cmd": [
    "nginx",
    "-g",
    "daemon off;"
    ],
    "ArgsEscaped": true,
    "Image": "sha256:4a9060e0ac21710c70f99ec2fb604b1c2847ced2acf10e4d4e86905d554dc685",
    "Volumes": null,
    "WorkingDir": "",
    "Entrypoint": null,
    "OnBuild": null,
    "Labels": {
    "maintainer": "NGINX Docker Maintainers <docker-maint@nginx.com>"
    },
    "StopSignal": "SIGTERM"
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Size": 109252443,
    "VirtualSize": 109252443,
    "GraphDriver": {
    "Data": {
    "LowerDir": "/var/lib/docker/overlay2/3ad0bc68ee6c3e92492a5d56b107da1834e0f22c8849016604b5110f8c67c8c8/diff:/var/lib/docker/overlay2/772eafb718462ae983f10fd78795b4fe73b46640e7e956ffb9571eee3ef85ea0/diff",
    "MergedDir": "/var/lib/docker/overlay2/c04bd3d232d46217bc57de00dc47b3bad9d9aa478398b41cfeae3a187092610d/merged",
    "UpperDir": "/var/lib/docker/overlay2/c04bd3d232d46217bc57de00dc47b3bad9d9aa478398b41cfeae3a187092610d/diff",
    "WorkDir": "/var/lib/docker/overlay2/c04bd3d232d46217bc57de00dc47b3bad9d9aa478398b41cfeae3a187092610d/work"
    },
    "Name": "overlay2"
    },
    "RootFS": {
    "Type": "layers",
    "Layers": [
    "sha256:6744ca1b11903f4db4d5e26145f6dd20f9a6d321a7f725f1a0a7a45a4174c579",
    "sha256:c59b3ca455e3e3fc50d0102af9e4cb585aa6ce806aa9ed2db536c9525df3ca89",
    "sha256:3e9eb35b1c23abd3b0852f16454425f78ff65dee17d4956e1dbd08202d36d9b2"
    ]
    },
    "Metadata": {
    "LastTagTime": "0001-01-01T00:00:00Z"
    }
    }
    ]
    #从镜像仓库拉取 镜像名=busybox的镜像(如果本地存在,就做更新操作)
    [root@192 ~]# docker image pull busybox
    Using default tag: latest
    latest: Pulling from library/busybox

    Digest: sha256:506f440802e1dc578a9953dd0957a48caeb6a4008df9af04a75d9e184aa01006
    Status: Downloaded newer image for busybox:latest
    #查看镜像,多了一个busybox说明拉取成功
    [root@192 ~]# docker image ls
    REPOSITORY TAG IMAGE ID CREATED SIZE
    nginx latest 881bd08c0b08 6 days ago 109MB
    busybox latest d8233ab899d4 3 weeks ago 1.2MB
    #显示busybox镜像详细信息
    [root@192 ~]# docker image inspect busybox
    [
    {
    "Id": "sha256:d8233ab899d419c58cf3634c0df54ff5d8acc28f8173f09c21df4a07229e1205",
    "RepoTags": [
    "busybox:latest"
    ],
    "RepoDigests": [
    "busybox@sha256:506f440802e1dc578a9953dd0957a48caeb6a4008df9af04a75d9e184aa01006"
    ],
    "Parent": "",
    "Comment": "",
    "Created": "2019-02-15T00:19:37.830935034Z",
    "Container": "197cb47b0e98a00daefcb62c5fa84634792dd22f11aa29bc95fdd4e10d654d30",
    "ContainerConfig": {
    "Hostname": "197cb47b0e98",
    "Domainname": "",
    "User": "",
    "AttachStdin": false,
    "AttachStdout": false,
    "AttachStderr": false,
    "Tty": false,
    "OpenStdin": false,
    "StdinOnce": false,
    "Env": [
    "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    ],
    "Cmd": [
    "/bin/sh",
    "-c",
    "#(nop) ",
    "CMD ["sh"]"
    ],
    "ArgsEscaped": true,
    "Image": "sha256:896f6e65107acffcae30fe593503aebf407fc30ad4566a8db04921dbfb6c0721",
    "Volumes": null,
    "WorkingDir": "",
    "Entrypoint": null,
    "OnBuild": null,
    "Labels": {}
    },
    "DockerVersion": "18.06.1-ce",
    "Author": "",
    "Config": {
    "Hostname": "",
    "Domainname": "",
    "User": "",
    "AttachStdin": false,
    "AttachStdout": false,
    "AttachStderr": false,
    "Tty": false,
    "OpenStdin": false,
    "StdinOnce": false,
    "Env": [
    "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin"
    ],
    "Cmd": [
    "sh"
    ],
    "ArgsEscaped": true,
    "Image": "sha256:896f6e65107acffcae30fe593503aebf407fc30ad4566a8db04921dbfb6c0721",
    "Volumes": null,
    "WorkingDir": "",
    "Entrypoint": null,
    "OnBuild": null,
    "Labels": null
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Size": 1199417,
    "VirtualSize": 1199417,
    "GraphDriver": {
    "Data": {
    "MergedDir": "/var/lib/docker/overlay2/1ce297b1d409c6acbb819285fe10dd3b92b4f3059c0c3f5ef145d103b8538512/merged",
    "UpperDir": "/var/lib/docker/overlay2/1ce297b1d409c6acbb819285fe10dd3b92b4f3059c0c3f5ef145d103b8538512/diff",
    "WorkDir": "/var/lib/docker/overlay2/1ce297b1d409c6acbb819285fe10dd3b92b4f3059c0c3f5ef145d103b8538512/work"
    },
    "Name": "overlay2"
    },
    "RootFS": {
    "Type": "layers",
    "Layers": [
    "sha256:adab5d09ba79ecf30d3a5af58394b23a447eda7ffffe16c500ddc5ccb4c0222f"
    ]
    },
    "Metadata": {
    "LastTagTime": "0001-01-01T00:00:00Z"
    }
    }
    ]
    #移除未使用的镜像,没有被标记或者没有被任何容器引用
    [root@192 ~]# docker image prune
    WARNING! This will remove all dangling images.
    Are you sure you want to continue? [y/N] y
    Total reclaimed space: 0B
    [root@192 ~]# docker image ls
    REPOSITORY TAG IMAGE ID CREATED SIZE
    nginx latest 881bd08c0b08 6 days ago 109MB
    busybox latest d8233ab899d4 3 weeks ago 1.2MB
    [root@192 ~]# ls
    anaconda-ks.cfg
    #保存nginx镜像到nginx.tar文件(适用场景:直接以这种方式传播镜像文件,在另一个docker环境直接导入就可使用)
    [root@192 ~]# docker image save nginx >nginx.tar
    #查看nginx.tar文件大小
    [root@192 ~]# du -sh nginx.tar
    108M nginx.tar
    #查看容器, 当前的容器 STATUS=UP ,说明是运行中,可以通过浏览器 http://<docker主机ip>:8800 访问tomcat服务
    [root@192 ~]# docker container ls
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    56dd5fb4e962 nginx "nginx -g 'daemon of…" 4 hours ago Up 4 hours 0.0.0.0:8800->80/tcp jolly_chatterjee
    [root@192 ~]# docker container --help

    Usage: docker container COMMAND

    Manage containers

    Commands:
    attach Attach local standard input, output, and error streams to a running container
    commit Create a new image from a container's changes
    cp Copy files/folders between a container and the local filesystem
    create Create a new container
    diff Inspect changes to files or directories on a container's filesystem
    exec Run a command in a running container
    export Export a container's filesystem as a tar archive
    inspect Display detailed information on one or more containers
    kill Kill one or more running containers
    logs Fetch the logs of a container
    ls List containers
    pause Pause all processes within one or more containers
    port List port mappings or a specific mapping for the container
    prune Remove all stopped containers
    rename Rename a container
    restart Restart one or more containers
    rm Remove one or more containers
    run Run a command in a new container
    start Start one or more stopped containers
    stats Display a live stream of container(s) resource usage statistics
    stop Stop one or more running containers
    top Display the running processes of a container
    unpause Unpause all processes within one or more containers
    update Update configuration of one or more containers
    wait Block until one or more containers stop, then print their exit codes

    Run 'docker container COMMAND --help' for more information on a command.
    #停止CONTAINER ID=56dd5fb4e962的容器
    [root@192 ~]# docker container stop 56dd5fb4e962
    56dd5fb4e962
    #删除CONTAINER ID=56dd5fb4e962的容器
    [root@192 ~]# docker container rm 56dd5fb4e962
    56dd5fb4e962
    #列出容器
    [root@192 ~]# docker container ls
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    #列出镜像
    [root@192 ~]# docker image ls
    REPOSITORY TAG IMAGE ID CREATED SIZE
    nginx latest 881bd08c0b08 6 days ago 109MB
    busybox latest d8233ab899d4 3 weeks ago 1.2MB
    #删除nginx镜像
    [root@192 ~]# docker image rm nginx
    Untagged: nginx:latest
    Untagged: nginx@sha256:b878833bf4fc397c8c681c0d59b47a339935c2d99692148077b27f406a1c78be
    Deleted: sha256:881bd08c0b08234bd19136957f15e4301097f4646c1e700f7fea26e41fc40069
    Deleted: sha256:39d647657f07356aed647e68914109c3098d4bb8ace1bc1d3a09bb40c8766971
    Deleted: sha256:798ab02dcf5760bbb0f5885cbaf22bac887e7c1cf3c64fc8864e98630e426aea
    Deleted: sha256:6744ca1b11903f4db4d5e26145f6dd20f9a6d321a7f725f1a0a7a45a4174c579
    #列出镜像,确认nginx镜像被删除
    [root@192 ~]# docker image ls
    REPOSITORY TAG IMAGE ID CREATED SIZE
    busybox latest d8233ab899d4 3 weeks ago 1.2MB
    # 从nginx.tar文件,加载一个镜像到本地
    [root@192 ~]# docker image load <nginx.tar
    Loaded image: nginx:latest
    # 列出镜像 确认nginx镜像已经被导入
    [root@192 ~]# docker image ls
    REPOSITORY TAG IMAGE ID CREATED SIZE
    nginx latest 881bd08c0b08 6 days ago 109MB
    busybox latest d8233ab899d4 3 weeks ago 1.2MB

    作者: 梅梅~

    出处: https://www.cnblogs.com/keeptesting

    关于作者:专注软件测试,测试运维相关工作,请多多赐教!

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出, 原文链接 如有问题,可加微信联系。 微信:yangguangkg20140901 暗号:博客园.

  • 相关阅读:
    C#
    Excel 中大量图片如何快速导出? 转载自:http://www.zhihu.com/question/20800948
    IE的F12开发人员工具不显示 转载自:http://blog.csdn.net/longyulu/article/details/8749705
    firefox ie 比较 relative path
    fiddler save files
    selenium3加载浏览器
    Linux安装PHP
    客户端级别的渲染分析工具 dynaTrace
    前端性能分析:分析百度和sogou
    Linux vi的基本操作
  • 原文地址:https://www.cnblogs.com/keeptesting/p/10515835.html
Copyright © 2011-2022 走看看