• Dcoker命令使用详解


    Docker语法说明

    docker [OPTIONS] COMMAND [arg...]
    OPTIONS
    --config=~/.docker :指定本地客户端配置文件。
    -D, --debug :开启调试模式。
    -H, --host=[] :指定监听连接地址。
    -h, --help :打印使用方式。
    -l, --log-level=info :设置日志级别。
    --tls :开启tls。
    --tlscacert=~/.docker/ca.pem :信任的CA证书。
    --tlscert=~/.docker/cert.pem :证书文件路径。
    --tlskey=~/.docker/key.pem :key文件路径。
    --tlsverify

    COMMAND
    attach
    当前shell下attach连接指定运行镜像,退出容器时,容器关闭。
    create
    创建一个新的容器,同run,但不启动容器,状态为Created,通过docker ps -a可以查看。

    $ docker create --name test_1_nginx nginx

    run
    创建一个新的容器并运行一个命令,具体官方参考。

    $ docker run --name test_nginx -d nginx
    -c :设置CPU使用权重。
    -m, --memory="" : 内存限制 (format: <number><optional unit>, where unit = b, k, m or g) 。
    --cidfile="" :把容器id写入到指定文件。
    --cpuset="" :cpu绑定。
    -d :后台运行容器。
    --dns :设置dns。
    --init :该选项在容器内运行带有PID 1的init进程,它转发信号并收集进程。
    --dns-search :设置dns域搜索。
    --env-file :从指定文件读取变量值。
    --expose :指定对外提供服务端口。
    -h :设置容器主机名。
    -i, --interactive :保持标准输出开启即使没有attached。
    --link :添加链接到另外一个容器。
    --name :设置容器名。
    --net :设置容器网络模式。
    -P, --publish-all :自动映射容器对外提供服务的端口。
    -p, --publish :指定端口映射(format: ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort)
    --privileged :提供更多的权限给容器。
    --rm :如果容器退出自动移除。
    --restart :该选项定义容器的重新启动策略,设置为always时表示确保Docker守护程序在启动时启动容器,并在容器退出时重新启动它。
    --security-opt :安全选项,通过–security-opt选项,运行容器时用户可自定义SELinux和AppArmor卷标和配置。
    -t, --tty :分配伪终端。
    -u, --user :指定运行容器的用户uid或者用户名。
    -v, --volume :挂载卷(from the host:-v /host:/container, from docker: -v /container)
    --volumes-from :从指定容器挂载卷。
    -w, --workdir :指定容器工作目录。

    # 创建一个cpu优先级为100,内存限制512MB,主机名为test1,名为docker_test后台运行bash的容器;

    $ docker run -t -i -c 100 -m 512MB -h test -d --name="docker_test" ubuntu /bin/bash

    ps
    列出容器列表。

    $ docker ps
    CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
    ddc9ae8793dc nginx "nginx -g 'daemon off" 4 hours ago Up 4 hours 443/tcp, 0.0.0.0:8081->80/tcp docker_nginx

    cp
    从容器中拷贝指定文件或者目录到宿主机中。

    $ docker cp test_nginx:/etc/sysctl.conf /tmp/

    diff
    查看docker容器变化。

    $ docker diff test_nginx

    events
    从docker服务获取容器实时事件。
    exec
    在已存在的容器上运行命令。

    $ docker exec -ti test_nginx /bin/bash

    export
    导出容器的内容流作为一个tar归档文件[对应import]。
    import
    从tar包中的内容创建一个新的文件系统映像[对应export]。
    history
    展示一个镜像形成历史。

    $ docker history docker_nginx

    images
    显示当前系统镜像。

    # 显示当前系统镜像,不包括过渡层镜像;

    $ docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    wordpress latest 368db5c51bcd 4 days ago 420 MB
    nginx latest e43d811ce2f4 4 days ago 181.4 MB
    mysql latest cf725f136fd2 4 days ago 383.4 MB
    ubuntu latest f753707788c5 12 days ago 127.1 MB

    # 显示当前系统所有镜像,包括过渡层镜像;

    $ docker images -a

    info
    显示系统相关信息。

    $ docker info
    Containers: 6
    Running: 5
    Paused: 0
    Stopped: 1
    Images: 4
    Server Version: 1.12.2

    inspect
    查看容器详细信息。

    # 查看完整容器信息;

    $ docker inspect test_nginx

    # 查看指定容器信息;

    $ docker inspect -f '{{.Id}}' test_nginx 

    kill
    kill指定docker容器。

    $ docker kill docker_wordpress

    save
    保存一个镜像为一个tar包[对应load]。

    $ docker save -o nginx.tar.gz nginx

    load
    从一个tar包中加载一个镜像[对应save]。

    $ docker load -i nginx.tar.gz
    Loaded image: nginx:latest

    login
    注册或者登陆一个docker registry服务器。

    $ docker login 172.17.0.1:5000 -u hello -p world

    logout
    从当前docker registry退出。

    $ docker logout 172.17.0.1:5000

    logs
    输出当前容器日志信息。

    # 输出指定容器的所有日志;

    $ docker logs docker_nginx

    # -f选项可以像tailf一样输出日志;

    $ docker logs docker_nginx -f

    port
    查看映射端口对应的容器内部源端口。

    $ docker port docker_nginx
    
    80/tcp -> 0.0.0.0:8081

    pull
    从docker镜像源服务器拉取指定镜像或者库镜像。

    # 从默认Registry进行PULL镜像;

    $ docker pull mysql

    # 从指定Registry进行PULL镜像;

    $ docker pull 172.17.0.1:5000/mysql

    push
    推送指定镜像或者库镜像到私有源[可注册docker官方账户,推送到官方自有账户]。

    $ docker push 172.17.0.1:5000/ubuntu

    rename
    重命名容器。

    $ docker rename docker_wordpress wordpress

    pause
    暂停容器,状态为Paused。

    $ docker pause docker_nginx

    unpause
    取消暂停容器,状态为Up。

    $ docker unpause docker_nginx

    stop
    停止容器,状态为Exited。

    $ docker stop docker_nginx

    start
    启动容器,状态为Up。

    $ docker start docker_nginx

    restart
    重启运行的容器。

    $ docker restart docker_nginx

    rm
    删除一个或者多个容器,一般使用都要加上-fv选项,表示把对应的volume也删除。

    $ docker rm -fv test_nginx

    rmi
    移除一个或多个镜像[无容器使用该镜像才可删除,否则需删除相关容器才可继续或-f强制删除]。

    $ docker rmi hello-world

    service
    管理Docker服务。
    search
    在docker hub中搜索镜像。

    $ docker search mysql
    NAME DESCRIPTION STARS OFFICIAL AUTOMATED
    mysql MySQL is a widely used, open-source relati... 3276 [OK]

    # 搜索Docker HUP中star超过100的镜像;

    $ docker search -s 100 ubuntu

    stats
    显示一个存活容器的资源使用情况。

    $ docker stats docker_nginx
    CONTAINER CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS
    docker_nginx 0.00% 7.582 MiB / 7.64 GiB 0.10% 2.248 kB / 3.748 kB 6.848 MB / 0 B 0

    tag
    给源中镜像打标签,通过docker images查看。

    $ docker tag nginx test_nginx

    top
    查看容器中运行的进程信息。

    docker top test_nginx
    UID PID PPID C STIME TTY TIME CMD
    root 2747 2732 0 18:30 ? 00:00:00 nginx: master process nginx -g daemon off;
    104 2766 2747 0 18:30 ? 00:00:00 nginx: worker process

    update
    给一个或多个容器更新配置。
    version
    查看docker版本号。

    $ docker version
    Client:
    Version: 1.12.2
    API version: 1.24
    Go version: go1.6.3
    Git commit: bb80604
    Built: 
    OS/Arch: linux/amd64
    
    Server:
    Version: 1.12.2
    API version: 1.24
    Go version: go1.6.3
    Git commit: bb80604
    Built: 
    OS/Arch: linux/amd64

    network
    管理Docker网络。
    swarm
    管理Docker Swarm。
    node
    管理DockerSwarm节点。
    volume
    管理Docker卷。

    $ docker volume ls

    build
    通过Dockerfile定制镜像,详情看:Docker:使用Dockerfile构建Nginx镜像。

    $ docker build -t test .

    commit
    提交当前容器为新的镜像,对一个正在运行的容器进行了配置修改后,可将此容器提交为一个新的容器。Docker:使用Dockerfile构建Nginx镜像。

    $ docker commit -a pengdongwen nginx_01 nginx_10
    
  • 相关阅读:
    我的Java设计模式-原型模式
    我的Java设计模式-观察者模式
    我的Java设计模式-建造者模式
    我的Java设计模式-单例模式
    我的Java设计模式-工厂方法模式
    菜鸟必备教程,ajax与xml交互传输数据。
    javascript Date format(js日期格式化)
    用script实现内容显示,并使用json传输数据
    使用jquer获取当前时间,并赋值到input上。
    利用js获取时间并输出值
  • 原文地址:https://www.cnblogs.com/Wang-Hongwei/p/13969635.html
Copyright © 2020-2023  润新知