• 03:创建容器常用选项


    创建容器常用选项:

    废话不多说,直接看帮助命令:

    [root@localhost ~]# 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.
    [root@localhost ~]#

    常用的做个截图解释:

    来个实例:

    # 创建一个后台运行nginxweb的容器,主机名为nginxweb,容器名为nginx_web,主机端口8080映射到容器的80端口,设置环境变量test为123456
    [root@localhost ~]# docker container run -itd --name nginx_web -e test=123456 -p 8080:80 -h nginxweb nginx d90c0947c0074f22a3226cc615a4584c6453c75813629b4285a77f5be353767a [root@localhost ~]# docker container ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d90c0947c007 nginx "nginx -g 'daemon of…" 7 seconds ago Up 6 seconds 0.0.0.0:8080->80/tcp nginx_web [root@localhost ~]# docker logs nginx_web [root@localhost ~]# curl 127.0.0.1:8080 <!DOCTYPE html> <html> <head> <title>Welcome to nginx!</title> <style> body { 35em; margin: 0 auto; font-family: Tahoma, Verdana, Arial, sans-serif; } </style> </head> <body> <h1>Welcome to nginx!</h1> <p>If you see this page, the nginx web server is successfully installed and working. Further configuration is required.</p> <p>For online documentation and support please refer to <a href="http://nginx.org/">nginx.org</a>.<br/> Commercial support is available at <a href="http://nginx.com/">nginx.com</a>.</p> <p><em>Thank you for using nginx.</em></p> </body> </html> [root@localhost ~]# docker logs nginx_web 172.17.0.1 - - [13/Jan/2019:14:07:27 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-" [root@localhost ~]# docker exec -it nginx_web "docker exec" requires at least 2 arguments. See 'docker exec --help'. Usage: docker exec [OPTIONS] CONTAINER COMMAND [ARG...] Run a command in a running container [root@localhost ~]# docker exec -it nginx_web bash root@nginxweb:/# hostname nginxweb root@nginxweb:/# echo $test 123456 root@nginxweb:/# exit exit [root@localhost ~]# docker container stop nginx_web nginx_web [root@localhost ~]# docker container ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES d90c0947c007 nginx "nginx -g 'daemon of…" About a minute ago Exited (0) 4 seconds ago nginx_web [root@localhost ~]# docker container rm d90c0947c007 d90c0947c007 [root@localhost ~]# docker container ps -l CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES [root@localhost ~]#

     容器资源限制:

    [root@localhost ~]# docker container run --help |grep cpu
          --cpu-period int                 Limit CPU CFS (Completely Fair Scheduler) period
          --cpu-quota int                  Limit CPU CFS (Completely Fair Scheduler) quota
          --cpu-rt-period int              Limit CPU real-time period in microseconds
          --cpu-rt-runtime int             Limit CPU real-time runtime in microseconds
      -c, --cpu-shares int                 CPU shares (relative weight)
          --cpus decimal                   Number of CPUs
          --cpuset-cpus string             CPUs in which to allow execution (0-3, 0,1)
          --cpuset-mems string             MEMs in which to allow execution (0-3, 0,1)
    [root@localhost ~]# docker container run --help |grep memory
          --kernel-memory bytes            Kernel memory limit
      -m, --memory bytes                   Memory limit
          --memory-reservation bytes       Memory soft limit
          --memory-swap bytes              Swap limit equal to memory plus swap: '-1' to enable unlimited swap
          --memory-swappiness int          Tune container memory swappiness (0 to 100) (default -1)
    [root@localhost ~]# 
    # memory
    docker container run -d --name nginx01 --memory='500m' --memory-swap='600m' --oom-kill-disable nginx
    
    # CPU
    docker run -d --name nginx02 --cpus='2' nginx
    
    # 查看状态:
    [root@localhost ~]# docker stats nginx01 --no-stream
    CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT   MEM %               NET I/O             BLOCK I/O           PIDS
    7e64017e7e4d        nginx01             0.00%               3.941MiB / 500MiB   0.79%               1.31kB / 0B         7.71MB / 0B         2
    [root@localhost ~]# docker stats nginx02 --no-stream
    CONTAINER ID        NAME                CPU %               MEM USAGE / LIMIT     MEM %               NET I/O             BLOCK I/O           PIDS
    e149218abf8f        nginx02             0.00%               1.375MiB / 1.934GiB   0.07%               656B / 0B           0B / 0B             2
    [root@localhost ~]# 

    管理容器常用命令:

      

    [root@localhost ~]# docker container run -d --name nginx03 -p 8080:80 nginx       # 端口映射
    [root@localhost ~]# docker container cp anaconda-ks.cfg nginx01:/home/            # cp文件到docker里面
    [root@localhost ~]# docker container logs nginx01                    #  查看容器日志
    [root@localhost ~]# docker container logs nginx01
    172.17.0.1 - - [15/Jan/2019:12:42:58 +0000] "GET / HTTP/1.1" 200 612 "-" "curl/7.29.0" "-"
    [root@localhost ~]#
    [root@localhost ~]# docker ps         # 查看活跃中的容器
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
    a326ea3c85dd        nginx               "nginx -g 'daemon of…"   2 minutes ago       Up 2 minutes        0.0.0.0:8080->80/tcp   nginx03
    e149218abf8f        nginx               "nginx -g 'daemon of…"   15 minutes ago      Up 15 minutes       80/tcp                 nginx02
    7e64017e7e4d        nginx               "nginx -g 'daemon of…"   16 minutes ago      Up 16 minutes       80/tcp                 nginx01
    [root@localhost ~]# docker top nginx03   # 查看容器的进程
    UID                 PID                 PPID                C                   STIME               TTY                 TIME                CMD
    root                7422                7402                0                   20:44               ?                   00:00:00            nginx: master process nginx -g daemon off;
    101                 7458                7422                0                   20:44               ?                   00:00:00            nginx: worker process
    [root@localhost ~]# docker stop nginx01   # 停止容器
    nginx01
    [root@localhost ~]# docker ps 
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
    a326ea3c85dd        nginx               "nginx -g 'daemon of…"   2 minutes ago       Up 2 minutes        0.0.0.0:8080->80/tcp   nginx03
    e149218abf8f        nginx               "nginx -g 'daemon of…"   16 minutes ago      Up 16 minutes       80/tcp                 nginx02
    [root@localhost ~]# docker ps -a    # 查看所有容器
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS                  NAMES
    a326ea3c85dd        nginx               "nginx -g 'daemon of…"   2 minutes ago       Up 2 minutes                0.0.0.0:8080->80/tcp   nginx03
    e149218abf8f        nginx               "nginx -g 'daemon of…"   16 minutes ago      Up 16 minutes               80/tcp                 nginx02
    7e64017e7e4d        nginx               "nginx -g 'daemon of…"   17 minutes ago      Exited (0) 10 seconds ago                          nginx01
    [root@localhost ~]# docker start nginx01    # 启动容器
    nginx01
    [root@localhost ~]# docker ps 
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
    a326ea3c85dd        nginx               "nginx -g 'daemon of…"   3 minutes ago       Up 3 minutes        0.0.0.0:8080->80/tcp   nginx03
    e149218abf8f        nginx               "nginx -g 'daemon of…"   16 minutes ago      Up 16 minutes       80/tcp                 nginx02
    7e64017e7e4d        nginx               "nginx -g 'daemon of…"   17 minutes ago      Up 5 seconds        80/tcp                 nginx01
    [root@localhost ~]# docker stop nginx01
    nginx01
    [root@localhost ~]# docker rm nginx01  # 删除容器
    nginx01
    [root@localhost ~]# docker ps -a
    CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS              PORTS                  NAMES
    a326ea3c85dd        nginx               "nginx -g 'daemon of…"   3 minutes ago       Up 3 minutes        0.0.0.0:8080->80/tcp   nginx03
    e149218abf8f        nginx               "nginx -g 'daemon of…"   17 minutes ago      Up 16 minutes       80/tcp                 nginx02
    [root@localhost ~]# 
  • 相关阅读:
    HDU 2874 Connections between cities(LCA离线算法实现)
    LCA离线算法Tarjan详解
    HDU 2586 How far away ?(LCA在线算法实现)
    LCA在线算法详解
    LA 4287 等价性证明(强连通分量缩点)
    POJ 2117 Electricity(割点求连通分量)
    ZOJ 1015 Fishing Net(弦图判定)
    BZOJ 1006: [HNOI2008]神奇的国度(弦图染色)
    POJ 2976 Dropping tests(分数规划)
    BZOJ 1003: [ZJOI2006]物流运输(spfa+dp)
  • 原文地址:https://www.cnblogs.com/zheng-weimin/p/10264283.html
Copyright © 2020-2023  润新知