博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Docker学习笔记-(1)常用命令
阅读量:7155 次
发布时间:2019-06-29

本文共 13639 字,大约阅读时间需要 45 分钟。

Docker基础命令

1. 查询镜像

1 docker search [镜像名]2 例如: docker search ubuntu

2. 获取镜像

1 docker pull [镜像名:版本号]2 例如:docker pull ubuntu 3 #获取ubuntu官方镜像4 #如果不写版本号默认为:latest, 即 docker pull ubuntu:latest

3. 运行镜像

1 docker run [参数] [镜像名:版本号]2 例如:docker run -i -t ubuntu:14.04 /bin/bash3 #docker run 运行一个容器4 #-t 分配一个(伪)tty5 #-i 交互模式6 #ubuntu:14.04 使用ubuntu基础镜像14.047 #/bin/bash 运行命令 bash shell
$ sudo docker run --helpUsage: docker run [OPTIONS] IMAGE [COMMAND] [ARG...] Run a command in a new container  -a, --attach=[] Attach to stdin, stdout or stderr.  -c, --cpu-shares=0 CPU shares (relative weight) # 设置 cpu 使用权重   --cap-add=[] Add Linux capabilities  --cap-drop=[] Drop Linux capabilities  --cidfile="" Write the container ID to the file  # 把容器 id 写入到指定文件   --cpuset="" CPUs in which to allow execution (0-3, 0,1)  # cpu 绑定   -d, --detach=false Detached mode: Run container in the background, print new container id  # 后台运行容器   --device=[] Add a host device to the container (e.g. --device=/dev/sdc:/dev/xvdc) --dns=[] Set custom dns servers  # 设置 dns   --dns-search=[] Set custom dns search domains  # 设置 dns 域搜索   -e, --env=[] Set environment variables  # 定义环境变量   --entrypoint="" Overwrite the default entrypoint of the image  # ?   --env-file=[] Read in a line delimited file of ENV variables  # 从指定文件读取变量值   --expose=[] Expose a port from the container without publishing it to your host  # 指定对外提供服务端口   -h, --hostname="" Container host name  # 设置容器主机名   -i, --interactive=false Keep stdin open even if not attached  # 保持标准输出开启即使没有   attached --link=[] Add link to another container (name:alias)  # 添加链接到另外一个容器   --lxc-conf=[] (lxc exec-driver only) Add custom lxc options --lxc-conf="lxc.cgroup.cpuset.cpus = 0,1" -m, --memory="" Memory limit (format: 
, where unit = b, k, m or g) # 内存限制 --name="" Assign a name to the container # 设置容器名 --net="bridge" Set the Network mode for the container # 设置容器网络模式 'bridge': creates a new network stack for the container on the docker bridge 'none': no networking for this container 'container:
': reuses another container network stack 'host': use the host network stack inside the container. Note: the host mode gives the container full access to local system services such as D-bus and is therefore considered insecure. -P, --publish-all=false Publish all exposed ports to the host interfaces # 自动映射容器对外提供服务的端口 -p, --publish=[] Publish a container's port to the host # 指定端口映射 format: ip:hostPort:containerPort | ip::containerPort | hostPort:containerPort (use 'docker port' to see the actual mapping) --privileged=false Give extended privileges to this container # 提供更多的权限给容器 --restart="" Restart policy to apply when a container exits (no, on-failure[:max-retry], always) --rm=false Automatically remove the container when it exits (incompatible with -d) # 如果容器退出自动移除和 -d 选项冲突 --security-opt=[] Security Options --sig-proxy=true Proxify received signals to the process (even in non-tty mode). SIGCHLD is not proxied. -t, --tty=false Allocate a pseudo-tty # 分配伪终端 -u, --user="" Username or UID # 指定运行容器的用户 uid 或者用户名 -v, --volume=[] Bind mount a volume (e.g., from the host: -v /host:/container, from docker: -v /container) # 挂载卷 --volumes-from=[] Mount volumes from the specified container(s) # 从指定容器挂载卷 -w, --workdir="" Working directory inside the container # 指定容器工作目录

 

4. 查看容器

1 docker ps 2 #查看当前运行的容器3 docker ps -a4 #查看当前系统中所有的容器

5. 交互模式快捷键

1 退出 Ctrl+D 或者 exit2 退出容器 Ctrl+P  并且加上 Ctrl+Q

6. 进入容器

1 docker attach [容器ID]2 例如: docker attach 44fc0f0582d93 docker exec -it [容器ID]  /bin/bash4 例如: docker exec -it 775c7c9ee1e1 /bin/bash

7. 删除容器

1 docker rm [容器ID]2 例如: docker rm 775c7c9ee1e1

8. 删除镜像

docker rmi [镜像ID]#删除一个或者多个镜像例如: docker rmi 4sd5dse12s$ sudo docker rmi --helpUsage: docker rmi IMAGE [IMAGE...] Remove one or more images  -f, --force=false Force removal of the image # 强制移除镜像不管是否有容器使用该镜像 --no-prune=false Do not delete untagged parents # 不要删除未标记的父镜像

9. 帮助命令

1 docker2 #docker command
$ sudo docker   # docker 命令帮助Commands:    attach    Attach to a running container                 # 当前 shell 下 attach 连接指定运行镜像    build     Build an image from a Dockerfile              # 通过 Dockerfile 定制镜像    commit    Create a new image from a container's changes # 提交当前容器为新的镜像    cp        Copy files/folders from the containers filesystem to the host path # 从容器中拷贝指定文件或者目录到宿主机中    create    Create a new container                        # 创建一个新的容器,同 run,但不启动容器    diff      Inspect changes on a container's filesystem   # 查看 docker 容器变化    events    Get real time events from the server          # 从 docker 服务获取容器实时事件    exec      Run a command in an existing container        # 在已存在的容器上运行命令    export    Stream the contents of a container as a tar archive  # 导出容器的内容流作为一个 tar 归档文件[对应 import ]    history   Show the history of an image                  # 展示一个镜像形成历史    images    List images                                   # 列出系统当前镜像    import    Create a new filesystem image from the contents of a tarball   # 从tar包中的内容创建一个新的文件系统映像[对应 export]    info      Display system-wide information               # 显示系统相关信息    inspect   Return low-level information on a container   # 查看容器详细信息    kill      Kill a running container                      # kill 指定 docker 容器    load      Load an image from a tar archive              # 从一个 tar 包中加载一个镜像[对应 save]    login     Register or Login to the docker registry server    # 注册或者登陆一个 docker 源服务器    logout    Log out from a Docker registry server         # 从当前 Docker registry 退出    logs      Fetch the logs of a container                 # 输出当前容器日志信息    port      Lookup the public-facing port which is NAT-ed to PRIVATE_PORT # 查看映射端口对应的容器内部源端口    pause     Pause all processes within a container        # 暂停容器    ps        List containers                               # 列出容器列表    pull      Pull an image or a repository from the docker registry server # 从docker镜像源服务器拉取指定镜像或者库镜像    push      Push an image or a repository to the docker registry server # 推送指定镜像或者库镜像至docker源服务器    restart   Restart a running container                   # 重启运行的容器    rm        Remove one or more containers                 # 移除一个或者多个容器    rmi       Remove one or more images                     # 移除一个或多个镜像[无容器使用该镜像才可删除,否则需删除相关容器才可继续或 -f 强制删除]    run       Run a command in a new container              # 创建一个新的容器并运行一个命令    save      Save an image to a tar archive                # 保存一个镜像为一个 tar 包[对应 load]    search    Search for an image on the Docker Hub         # 在 docker hub 中搜索镜像    start     Start a stopped containers                    # 启动容器    stop      Stop a running containers                     # 停止容器    tag       Tag an image into a repository                # 给源中镜像打标签    top       Lookup the running processes of a container   # 查看容器中运行的进程信息    unpause   Unpause a paused container                    # 取消暂停容器    version   Show the docker version information           # 查看 docker 版本号    wait      Block until a container stops, then print its exit code    # 截取容器停止时的退出状态值Run 'docker COMMAND --help' for more information on a command.
Usage of docker:  --api-enable-cors=false                Enable CORS headers in the remote API                      # 远程 API 中开启 CORS 头  -b, --bridge=""                        Attach containers to a pre-existing network bridge         # 桥接网络                                           use 'none' to disable container networking  --bip=""                               Use this CIDR notation address for the network bridge's IP, not compatible with -b # 和 -b 选项不兼容,具体没有测试过  -d, --daemon=false                     Enable daemon mode                                         # daemon 模式  -D, --debug=false                      Enable debug mode                                          # debug 模式  --dns=[]                               Force docker to use specific DNS servers                   # 强制 docker 使用指定 dns 服务器  --dns-search=[]                        Force Docker to use specific DNS search domains            # 强制 docker 使用指定 dns 搜索域  -e, --exec-driver="native"             Force the docker runtime to use a specific exec driver     # 强制 docker 运行时使用指定执行驱动器  --fixed-cidr=""                        IPv4 subnet for fixed IPs (ex: 10.20.0.0/16)                                           this subnet must be nested in the bridge subnet (which is defined by -b or --bip)  -G, --group="docker"                   Group to assign the unix socket specified by -H when running in daemon mode                                           use '' (the empty string) to disable setting of a group  -g, --graph="/var/lib/docker"          Path to use as the root of the docker runtime              # 容器运行的根目录路径  -H, --host=[]                          The socket(s) to bind to in daemon mode                    # daemon 模式下 docker 指定绑定方式[tcp or 本地 socket]                                           specified using one or more tcp://host:port, unix:///path/to/socket, fd://* or fd://socketfd.  --icc=true                             Enable inter-container communication                       # 跨容器通信  --insecure-registry=[]                 Enable insecure communication with specified registries (no certificate verification for HTTPS and enable HTTP fallback) (e.g., localhost:5000 or 10.20.0.0/16)  --ip="0.0.0.0"                         Default IP address to use when binding container ports     # 指定监听地址,默认所有 ip  --ip-forward=true                      Enable net.ipv4.ip_forward                                 # 开启转发  --ip-masq=true                         Enable IP masquerading for bridge's IP range  --iptables=true                        Enable Docker's addition of iptables rules                 # 添加对应 iptables 规则  --mtu=0                                Set the containers network MTU                             # 设置网络 mtu                                           if no value is provided: default to the default route MTU or 1500 if no default route is available  -p, --pidfile="/var/run/docker.pid"    Path to use for daemon PID file                            # 指定 pid 文件位置  --registry-mirror=[]                   Specify a preferred Docker registry mirror                    -s, --storage-driver=""                Force the docker runtime to use a specific storage driver  # 强制 docker 运行时使用指定存储驱动  --selinux-enabled=false                Enable selinux support                                     # 开启 selinux 支持  --storage-opt=[]                       Set storage driver options                                 # 设置存储驱动选项  --tls=false                            Use TLS; implied by tls-verify flags                       # 开启 tls  --tlscacert="/root/.docker/ca.pem"     Trust only remotes providing a certificate signed by the CA given here  --tlscert="/root/.docker/cert.pem"     Path to TLS certificate file                               # tls 证书文件位置  --tlskey="/root/.docker/key.pem"       Path to TLS key file                                       # tls key 文件位置  --tlsverify=false                      Use TLS and verify the remote (daemon: verify client, client: verify daemon) # 使用 tls 并确认远程控制主机  -v, --version=false                    Print version information and quit                         # 输出 docker 版本信息

10. 查看docker信息

docker info $ sudo docker info Containers: 1 # 容器个数 Images: 22 # 镜像个数 Storage Driver: devicemapper # 存储驱动 Pool Name: docker-8:17-3221225728-pool Pool Blocksize: 65.54 kB Data file: /data/docker/devicemapper/devicemapper/data Metadata file: /data/docker/devicemapper/devicemapper/metadata Data Space Used: 1.83 GB Data Space Total: 107.4 GB Metadata Space Used: 2.191 MB Metadata Space Total: 2.147 GB Library Version: 1.02.84-RHEL7 (2014-03-26) Execution Driver: native-0.2 # 存储驱动 Kernel Version: 3.10.0-123.el7.x86_64Operating System: CentOS Linux 7 (Core)

11. 拉取与推送

1 $ sudo docker pull --help # pull 拉取镜像 Usage: docker pull [OPTIONS] NAME[:TAG] Pull an image or a repository from the registry2 3   -a, --all-tags=false Download all tagged images in the repository $ sudo docker push # push 推送指定镜像 Usage: docker push NAME[:TAG] Push an image or a repository to the registry4 5 #示例6 7 $ sudo docker pull ubuntu # 下载官方 ubuntu docker 镜像,默认下载所有 ubuntu 官方库镜像 $ sudo docker pull ubuntu:14.04 # 下载指定版本 ubuntu 官方镜像 8 9 $ sudo docker push 192.168.0.100:5000/ubuntu # 推送镜像库到私有源[可注册 docker 官方账户,推送到官方自有账户] $ sudo docker push 192.168.0.100:5000/ubuntu:14.04 # 推送指定镜像到私有源

11. 容器运行|停止|杀死...

dockerstart|stop|kill|restart|pause|unpause|rm|commit|inspect|logsdocker start CONTAINER [CONTAINER...]# 运行一个或多个停止的容器docker stop CONTAINER [CONTAINER...]# 停掉一个或多个运行的容器-t选项可指定超时时间docker kill [OPTIONS] CONTAINER [CONTAINER...]# 默认 kill 发送 SIGKILL 信号-s可以指定发送 kill 信号类型docker restart [OPTIONS] CONTAINER [CONTAINER...]# 重启一个或多个运行的容器-t选项可指定超时时间docker pause CONTAINER# 暂停一个容器,方便 commitdocker unpause CONTAINER# 继续暂停的容器docker rm [OPTIONS] CONTAINER [CONTAINER...]# 移除一个或多个容器-f, --force=false Force removal of running container-l, --link=false Remove the specified link and not the underlying container-v, --volumes=false Remove the volumes associated with the containerdocker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]# 提交指定容器为镜像-a, --author="" Author (e.g., "John Hannibal Smith  hannibal@a-team.com ")-m, --message="" Commit message-p, --pause=true Pause container during commit# 默认 commit 是暂停状态docker inspect CONTAINER|IMAGE [CONTAINER|IMAGE...]# 查看容器或者镜像的详细信息docker logs CONTAINER# 输出指定容器日志信息-f, --follow=false Follow log output# 类似 tail -f-t, --timestamps=false Show timestamps--tail="all" Output the specified number of lines at the end of logs (defaults to all logs)

 

转载于:https://www.cnblogs.com/litaiqing/p/9334883.html

你可能感兴趣的文章
Crontab 用法
查看>>
PendingIntent
查看>>
自动登录多个IDC机房(expect+shell)
查看>>
MongoDB 主从集群配置
查看>>
托管代码和非托管代码的区别
查看>>
设计模式--组合模式
查看>>
rsync文件同步应用--服务器端的配置
查看>>
开灯关灯问题
查看>>
Discuz非创始人管理员代码执行
查看>>
利用Hibernate Validator实现对Bean的参数验证
查看>>
CPython 和IronPython的基准测试
查看>>
输入的命令集锦
查看>>
企业集群平台架构实现与应用实战(HAproxy+keepalived篇)
查看>>
使用SQL生成DateTime.Ticks
查看>>
用ildasm破解和用ilasm来重新编译<转>
查看>>
Autovacuum 的运行限制
查看>>
3、CC2541芯片中级教程-OSAL操作系统(ADC光敏电阻和修改串口波特率)
查看>>
[LeetCode] Best Time to Buy and Sell Stock II
查看>>
随机森林和GBDT的几个核心问题
查看>>
[033] 微信公众帐号开发教程第9篇-QQ表情的发送与接收(转)
查看>>