zoukankan      html  css  js  c++  java
  • Linux基础学习-Docker学习笔记

    Docker安装

    1 官方网站访问速度很慢,帮助文档

    2 国内中文网站,帮助文档

    [root@qdlinux ~]# yum remove docker 
                      docker-client 
                      docker-client-latest 
                      docker-common 
                      docker-latest 
                      docker-latest-logrotate 
                      docker-logrotate 
                      docker-selinux 
                      docker-engine-selinux 
                      docker-engine
                      
    [root@qdlinux ~]# yum install -y yum-utils 
      device-mapper-persistent-data 
      lvm2      
    [root@qdlinux ~]# yum-config-manager 
         --add-repo 
         https://download.docker.com/linux/centos/docker-ce.repo
         
    [root@qdlinux ~]# yum-config-manager --enable docker-ce-edge
    
    [root@qdlinux ~]# yum-config-manager --enable docker-ce-test
    
    [root@qdlinux ~]# yum makecache fast
    
    [root@qdlinux ~]# yum install docker-ce
    
    
    

    在生产系统中,您应该安装特定版本的 Docker CE,而不是始终使用最新版本。列出可用版本。此示例使用 sort -r 命令按版本号(从最高到最低)对结果进行排序,并且已被截断。

    注:此 yum list 命令仅显示二进制软件包。如果还需要显示 源软件包,请从软件包名称中省略 .x86_64。

     $ yum list docker-ce.x86_64  --showduplicates | sort -r
    
     docker-ce.x86_64  17.06.0.el7                               docker-ce-stable  
    
     yum install docker-ce-<VERSION>
     
    
    systemctl start docker
    
    docker run hello-world
    
    

    启用阿里云加速器

    [root@qdlinux ~]# vim /etc/docker/daemon.json
    
    {
      "registry-mirrors": ["https://xxxxxx.mirror.aliyuncs.com"]
    }
    
    [root@qdlinux ~]# systemctl daemon-reload
    [root@qdlinux ~]# systemctl restart docker
    
    
    [root@qdlinux ~]# docker version
    Client:
     Version:           18.09.0-ce-tp4
     API version:       1.39
     Go version:        go1.10.3
     Git commit:        33764aa
     Built:             Fri Aug 24 23:20:18 2018
     OS/Arch:           linux/amd64
     Experimental:      false
    
    Server:
     Engine:
      Version:          18.09.0-ce-tp4
      API version:      1.39 (minimum version 1.12)
      Go version:       go1.10.3
      Git commit:       33764aa
      Built:            
      OS/Arch:          linux/amd64
      Experimental:     false
    
    
    [root@qdlinux ~]# docker info
    Containers: 1
     Running: 0
     Paused: 0
     Stopped: 1
    Images: 1
    Server Version: 18.09.0-ce-tp4
    Storage Driver: overlay2
     Backing Filesystem: xfs
     Supports d_type: true
     Native Overlay Diff: true
    Logging Driver: json-file
    Cgroup Driver: cgroupfs
    Plugins:
     Volume: local
     Network: bridge host macvlan null overlay
     Log: awslogs fluentd gcplogs gelf journald json-file local logentries splunk syslog
    Swarm: inactive
    Runtimes: containerd runc
    Default Runtime: containerd
    Init Binary: docker-init
    containerd version: 6f13ff3ea48a6bc2fb9b47c0acce24cf274dafd9 (expected: 468a545b9edcd5932818eb9de8e72413e616e86e)
    runc version: 459bfaec1fc6c17d8bfb12d0a0f69e7e7271ed2a (expected: 69663f0bd4b60df09991c08812a60108003fa340)
    init version: fec3683
    Kernel Version: 3.10.0-862.el7.x86_64
    Operating System: CentOS Linux 7 (Core)
    OSType: linux
    Architecture: x86_64
    CPUs: 2
    Total Memory: 1.936GiB
    Name: qdlinux.com
    ID: 4HLV:D5DZ:MFZP:QBWO:SKUM:WR32:352C:JZYW:ZAAU:QPGP:3US2:MOY5
    Docker Root Dir: /var/lib/docker
    Debug Mode (client): false
    Debug Mode (server): false
    Registry: https://index.docker.io/v1/
    Labels:
    Experimental: false
    Insecure Registries:
     127.0.0.0/8
    Registry Mirrors:
     https://y5va7z1k.mirror.aliyuncs.com/
    Live Restore Enabled: false
    
    
    [root@qdlinux ~]# 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@qdlinux ~]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    hello-world         latest              2cb0d9787c4d        6 weeks ago         1.85kB
    
    
    [root@qdlinux ~]# docker images -a
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    hello-world         latest              2cb0d9787c4d        6 weeks ago         1.85kB
    
    
    [root@qdlinux ~]# docker images -q
    2cb0d9787c4d
    
    
    [root@qdlinux ~]# docker images -qa
    2cb0d9787c4d
    
    
    [root@qdlinux ~]# docker images --digests 
    REPOSITORY          TAG                 DIGEST                                                                    IMAGE ID            CREATED             SIZE
    hello-world         latest              sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc   2cb0d9787c4d        6 weeks ago         1.85kB
    
    
    [root@qdlinux ~]# docker images --digests --no-trunc 
    REPOSITORY          TAG                 DIGEST                                                                    IMAGE ID                                                                  CREATED             SIZE
    hello-world         latest              sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc   sha256:2cb0d9787c4dd17ef9eb03e512923bc4db10add190d3f84af63b744e353a9b34   6 weeks ago         1.85kB
    
    
    [root@qdlinux ~]# docker images --no-trunc 
    REPOSITORY          TAG                 IMAGE ID                                                                  CREATED             SIZE
    hello-world         latest              sha256:2cb0d9787c4dd17ef9eb03e512923bc4db10add190d3f84af63b744e353a9b34   6 weeks ago         1.85kB
    
    
    [root@qdlinux ~]# docker search tomcat
    NAME                                  DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
    tomcat                                Apache Tomcat is an open source implementati…   1996                [OK]                
    tomee                                 Apache TomEE is an all-Apache Java EE certif…   55                  [OK]                
    dordoka/tomcat                        Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 base…   49                                      [OK]
    davidcaste/alpine-tomcat              Apache Tomcat 7/8 using Oracle Java 7/8 with…   29                                      [OK]
    bitnami/tomcat                        Bitnami Tomcat Docker Image                     21                                      [OK]
    consol/tomcat-7.0                     Tomcat 7.0.57, 8080, "admin/admin"              16                                      [OK]
    cloudesire/tomcat                     Tomcat server, 6/7/8                            15                                      [OK]
    tutum/tomcat                          Base docker image to run a Tomcat applicatio…   11                                      
    meirwa/spring-boot-tomcat-mysql-app   a sample spring-boot app using tomcat and My…   10                                      [OK]
    jeanblanchard/tomcat                  Minimal Docker image with Apache Tomcat         8                                       
    aallam/tomcat-mysql                   Debian, Oracle JDK, Tomcat & MySQL              7                                       [OK]
    rightctrl/tomcat                      CentOS , Oracle Java, tomcat application ssl…   3                                       [OK]
    maluuba/tomcat7-java8                 Tomcat7 with java8.                             2                                       
    arm64v8/tomcat                        Apache Tomcat is an open source implementati…   2                                       
    amd64/tomcat                          Apache Tomcat is an open source implementati…   2                                       
    jelastic/tomcat                       An image of the Tomcat Java application serv…   1                                       
    99taxis/tomcat7                       Tomcat7                                         1                                       [OK]
    camptocamp/tomcat-logback             Docker image for tomcat with logback integra…   1                                       [OK]
    fabric8/tomcat-8                      Fabric8 Tomcat 8 Image                          1                                       [OK]
    primetoninc/tomcat                    Apache tomcat 8.5, 8.0, 7.0                     1                                       [OK]
    oobsri/tomcat8                        Testing CI Jobs with different names.           0                                       
    swisstopo/service-print-tomcat        backend tomcat for service-print "the true, …   0                                       
    cfje/tomcat-resource                  Tomcat Concourse Resource                       0                                       
    s390x/tomcat                          Apache Tomcat is an open source implementati…   0                                       
    picoded/tomcat7                       tomcat7 with jre8 and MANAGER_USER / MANAGER…   0                                       [OK]
    
    
    [root@qdlinux ~]# docker search -s 30 tomcat
    Flag --stars has been deprecated, use --filter=stars=3 instead
    NAME                DESCRIPTION                                     STARS               OFFICIAL            AUTOMATED
    tomcat              Apache Tomcat is an open source implementati…   1996                [OK]                
    tomee               Apache TomEE is an all-Apache Java EE certif…   55                  [OK]                
    dordoka/tomcat      Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 base…   49                                      [OK]
    
    [root@qdlinux ~]# docker search -s 30 --no-trunc tomcat
    Flag --stars has been deprecated, use --filter=stars=3 instead
    NAME                DESCRIPTION                                                                                            STARS               OFFICIAL            AUTOMATED
    tomcat              Apache Tomcat is an open source implementation of the Java Servlet and JavaServer Pages technologies   1996                [OK]                
    tomee               Apache TomEE is an all-Apache Java EE certified stack where Apache Tomcat is top dog.                  55                  [OK]                
    dordoka/tomcat      Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 based docker container.                                        49                                      [OK]
    
    
    [root@qdlinux ~]# docker search -s 30 --no-trunc --automated tomcat
    Flag --stars has been deprecated, use --filter=stars=3 instead
    Flag --automated has been deprecated, use --filter=is-automated=true instead
    NAME                DESCRIPTION                                                       STARS               OFFICIAL            AUTOMATED
    dordoka/tomcat      Ubuntu 14.04, Oracle JDK 8 and Tomcat 8 based docker container.   49                                      [OK]
    
    
    [root@qdlinux ~]# docker pull tomcat
    Using default tag: latest
    latest: Pulling from library/tomcat
    55cbf04beb70: Pull complete 
    1607093a898c: Pull complete 
    9a8ea045c926: Pull complete 
    1290813abd9d: Pull complete 
    8a6b982ad6d7: Pull complete 
    abb029e68402: Pull complete 
    d068d0a738e5: Pull complete 
    42ee47bb0c52: Pull complete 
    ae9c861aed25: Pull complete 
    60bba9d0dc8d: Pull complete 
    091c11d70257: Pull complete 
    869034383fc7: Pull complete 
    Digest: sha256:eab533908d6c7760a84a5edbb4490b648484941dfa708a1c5f4286db8caab825
    Status: Downloaded newer image for tomcat:latest
    
    
    
    [root@qdlinux ~]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    tomcat              latest              690cb3b9c7d1        5 days ago          463MB
    hello-world         latest              2cb0d9787c4d        6 weeks ago         1.85kB
    
    
    [root@qdlinux ~]# docker rmi hello-world
    Error response from daemon: conflict: unable to remove repository reference "hello-world" (must force) - container 9f42fa25318d is using its referenced image 2cb0d9787c4d
    
    
    [root@qdlinux ~]# docker rmi -f hello-world
    Untagged: hello-world:latest
    Untagged: hello-world@sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc
    Deleted: sha256:2cb0d9787c4dd17ef9eb03e512923bc4db10add190d3f84af63b744e353a9b34
    
    
    [root@qdlinux ~]# docker pull hello-world
    Using default tag: latest
    latest: Pulling from library/hello-world
    9db2ca6ccae0: Already exists 
    Digest: sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc
    Status: Downloaded newer image for hello-world:latest
    
    
    [root@qdlinux ~]# docker pull nginx
    Using default tag: latest
    latest: Pulling from library/nginx
    be8881be8156: Pull complete 
    32d9726baeef: Pull complete 
    87e5e6f71297: Pull complete 
    Digest: sha256:d85914d547a6c92faa39ce7058bd7529baacab7e0cd4255442b04577c4d1f424
    Status: Downloaded newer image for nginx:latest
    
    
    [root@qdlinux ~]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    tomcat              latest              690cb3b9c7d1        5 days ago          463MB
    nginx               latest              c82521676580        4 weeks ago         109MB
    hello-world         latest              2cb0d9787c4d        6 weeks ago         1.85kB
    
    
    [root@qdlinux ~]# docker rmi -f hello-world nginx
    Untagged: hello-world:latest
    Untagged: hello-world@sha256:4b8ff392a12ed9ea17784bd3c9a8b1fa3299cac44aca35a85c90c5e3c7afacdc
    Deleted: sha256:2cb0d9787c4dd17ef9eb03e512923bc4db10add190d3f84af63b744e353a9b34
    Untagged: nginx:latest
    Untagged: nginx@sha256:d85914d547a6c92faa39ce7058bd7529baacab7e0cd4255442b04577c4d1f424
    Deleted: sha256:c82521676580c4850bb8f0d72e47390a50d60c8ffe44d623ce57be521bca9869
    Deleted: sha256:2c1f65d17acf8759019a5eb86cc20fb8f8a7e84d2b541b795c1579c4f202a458
    Deleted: sha256:8f222b457ca67d7e68c3a8101d6509ab89d1aad6d399bf5b3c93494bbf876407
    Deleted: sha256:cdb3f9544e4c61d45da1ea44f7d92386639a052c620d1550376f22f5b46981af
    
    
    [root@qdlinux ~]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    tomcat              latest              690cb3b9c7d1        5 days ago          463MB
    
    
    //删除所有
    [root@qdlinux ~]# docker rmi -f $(docker images -qa)
    
    
    [root@qdlinux ~]# docker pull centos
    Using default tag: latest
    latest: Pulling from library/centos
    256b176beaff: Pull complete 
    Digest: sha256:6f6d986d425aeabdc3a02cb61c02abb2e78e57357e92417d6d58332856024faf
    Status: Downloaded newer image for centos:latest
    [root@qdlinux ~]# docker images
    REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
    tomcat              latest              690cb3b9c7d1        5 days ago          463MB
    centos              latest              5182e96772bf        3 weeks ago         200MB
    
    
    [root@qdlinux ~]# docker run -it 5182e96772bf
    [root@5448e5cbace9 /]# 
    
    
    [root@qdlinux ~]# docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    5448e5cbace9        5182e96772bf        "/bin/bash"         5 minutes ago       Up 5 minutes                            optimistic_austin
    
    //容器完全退出
    [root@5448e5cbace9 /]# exit
    
    //容器不停止退出
    Ctrl+p+q
    
    
    [root@qdlinux ~]# docker ps -l
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                          PORTS               NAMES
    5448e5cbace9        5182e96772bf        "/bin/bash"         11 minutes ago      Exited (0) About a minute ago                       optimistic_austin
    
    [root@qdlinux ~]# docker ps -a
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
    5448e5cbace9        5182e96772bf        "/bin/bash"         12 minutes ago      Exited (0) 2 minutes ago                       optimistic_austin
    9f42fa25318d        2cb0d9787c4d        "/hello"            3 hours ago         Exited (0) 3 hours ago                         wonderful_mclean
    
    
    [root@qdlinux ~]# docker ps -n 3
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                     PORTS               NAMES
    5448e5cbace9        5182e96772bf        "/bin/bash"         13 minutes ago      Exited (0) 3 minutes ago                       optimistic_austin
    9f42fa25318d        2cb0d9787c4d        "/hello"            3 hours ago         Exited (0) 3 hours ago                         wonderful_mclean
    
    
    [root@qdlinux ~]# docker ps -lq
    5448e5cbace9
    
    [root@qdlinux ~]# docker run -it --name mycentos0828 centos
    [root@qdlinux ~]# docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    c566d41cb7fd        centos              "/bin/bash"         40 seconds ago      Up 38 seconds                           mycentos0828
    
    
    [root@qdlinux ~]# docker start 5448e5cbace9
    [root@qdlinux ~]# docker ps
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
    c566d41cb7fd        centos              "/bin/bash"         8 minutes ago       Up 8 minutes                            mycentos0828
    5448e5cbace9        5182e96772bf        "/bin/bash"         25 minutes ago      Up 15 seconds                           optimistic_austin
    
    
    [root@qdlinux ~]# docker restart c566d41cb7fd
    c566d41cb7fd
    [root@qdlinux ~]# docker stop c566d41cb7fd
    c566d41cb7fd
    
    [root@qdlinux ~]# docker kill 5448e5cbace9
    5448e5cbace9
    
    
    [root@qdlinux ~]# docker ps -l
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                       PORTS               NAMES
    c566d41cb7fd        centos              "/bin/bash"         14 minutes ago      Exited (137) 2 minutes ago                       mycentos0828
    [root@qdlinux ~]# docker ps -n 2
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                            PORTS               NAMES
    c566d41cb7fd        centos              "/bin/bash"         14 minutes ago      Exited (137) 2 minutes ago                            mycentos0828
    5448e5cbace9        5182e96772bf        "/bin/bash"         30 minutes ago      Exited (137) About a minute ago                       optimistic_austin
    
    [root@qdlinux ~]# docker rm 5448e5cbace9
    5448e5cbace9
    
    [root@qdlinux ~]# docker ps -n 2
    CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                       PORTS               NAMES
    c566d41cb7fd        centos              "/bin/bash"         15 minutes ago      Exited (137) 3 minutes ago                       mycentos0828
    9f42fa25318d        2cb0d9787c4d        "/hello"            3 hours ago         Exited (0) 3 hours ago                           wonderful_mclean
    
    
    [root@qdlinux ~]# docker rm -f $(docker ps -qa) 
    [root@qdlinux ~]# docker ps -qa | xargs docker rm 
    
    
    [root@qdlinux ~]# docker run -d centos 
    b307589886194f3da5ae1bcfbbb368c5c3a5ed005341cca52035bc175aab9460
    docker run -d centos /bin/sh -c "while true;do echo hello zzyy;sleep 2;done"
    
    docker logs 容器ID
    
    docker logs -t 容器ID
    
    docker logs -t -f 容器ID
    
    docker logs -t -f --tail 3 容器ID
    
    
    docker top 容器ID
    
    
    docker inspect 容器ID
    
    [root@qdlinux ~]# docker attach 容器ID
    
    [root@qdlinux ~]# docker exec -it f702a32dcbc3 ls -l /tmp
    total 4
    -rwx------ 1 root root 836 Aug  4 22:05 ks-script-Lu6hIQ
    -rw------- 1 root root   0 Aug  4 22:04 yum.log
    
    
    [root@qdlinux ~]# docker cp f702a32dcbc3:/tmp/yum.log /root
    [root@qdlinux ~]# ll
    total 8
    -rw-------. 1 root root 1735 Aug  4 15:04 anaconda-ks.cfg
    drwxr-xr-x  2 root root    6 Aug  4 15:57 Desktop
    drwxr-xr-x  2 root root    6 Aug  4 15:57 Documents
    drwxr-xr-x  2 root root    6 Aug  4 15:57 Downloads
    -rw-r--r--. 1 root root 1783 Aug  4 15:07 initial-setup-ks.cfg
    drwxr-xr-x  2 root root    6 Aug  4 15:57 Music
    drwxr-xr-x  2 root root    6 Aug  4 15:57 Pictures
    drwxr-xr-x  2 root root    6 Aug  4 15:57 Public
    drwxr-xr-x  2 root root    6 Aug  4 15:57 Templates
    drwxr-xr-x  2 root root    6 Aug  4 15:57 Videos
    -rw-------  1 root root    0 Aug  5 06:04 yum.log
    
    
    [root@qdlinux ~]# docker run -it -p 8080:8080 tomcat
    [root@qdlinux ~]# docker run -it -P tomcat
    
    
    docker commit -a="zzyy" -m="tomcat without docs" 容器ID xxx/mytomcat:xxx
    
    
    docker run -it -v /myDataVolume:/dataVolumeContainer centos
    docker run -it -v /myDataVolume:/dataVolumeContainer:ro centos
    
    //dockerfile
    mkdir mydocker
    cd /mydocker
    vim Dockerfile
    # volume test
    FROM centos
    VOLUME ["/dataVolumeContainer1","/dataVolumeContainer2"]
    CMD echo "finish,---------success"
    CMD /bin/bash
    
    docker build -f /mydocker/Dockerfile -t zzyy/centos .
    docker run -it zzyy/centos /bin/bash
    
    //如果报错
    docker run -it -v /myDataVolume:/dataVolumeContainer --privileged=true centos 
    
    docker inspect 容器ID
    
    
    docker run -it --name dc01 zzyy/centos
    cd dataVolumeContainer2
    touch dc01_add.txt
    
    docker run -it --name dc02 --volumes-from dc01 zzyy/centos
    touch dc02_add.txt
    
    docker run -it --name dc03 --volumes-from dc01 zzyy/centos
    touch dc03_add.txt
    
    docker rm -f dc01
    
    不影响其他容器,容期间传递共享
    
    
    
    FROM scratch
    ADD centos-7-docker.tar.xz /
    
    LABEL org.label-schema.schema-version = "1.0" 
        org.label-schema.name="CentOS Base Image" 
        org.label-schema.vendor="CentOS" 
        org.label-schema.license="GPLv2" 
        org.label-schema.build-date="20180531"
    
    CMD ["/bin/bash"]
    
    
    命令 解释
    FROM 基础镜像,当前新镜像是基于哪个镜像的
    MAINTAINER 镜像维护者的姓名和邮箱地址
    RUN 容器构建时需要运行的命令
    EXPOSE 当前容器对外暴露出的端口号
    WORKDIR 指定在创建容器后,终端默认登录的进来工作目录
    ENV 用来在构建镜像过程中设置环境变量
    ADD 在宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar压缩包
    COPY 类似ADD,拷贝文件和目录到镜像中,将从镜像上下文目录中<源路径>的文件/目录复制到新的一层的镜像内的<目标路径>位置
    VOLUME 容器数据卷,用于数据保存和持久化工作
    CMD 指定一个容器启动时要运行的命令,Dockerfile中可以有多个CMD命令,但只有最后一个生效,CMD会被docker run之后的参数替换
    ENTRYPOINT 指定一个容器启动时要运行的命令,ENTRYPOINT的目的和CMD一样,都是在指定容器启动程序及参数
    ONBUILD 当构建一个被继承的Dockerfile时运行命令,父镜像在被子继承后父镜像的onbuild被触发
    FROM centos
    MAINTAINER xiaoyu<249935058@qq.com>
    ENV MYPATH /usr/local
    WORKDIR $MYPATH
    RUN yum -y install vim
    RUM yum -y install net-tools
    EXPOSE 80
    CMD echo $MYPATH
    CMD echo "success---------ok"
    CMD ["/bin/bash"]
    
    
    
    [root@qdlinux mydocker]# docker build -f /mydocker/Dockerfile -t mycentos:1.3 .
    
    [root@qdlinux mydocker]# docker run -it mycentos:1.3
    
    docker history 镜像ID
    
    
    FROM centos
    RUN yum -y install curl
    CMD ["curl","-s","http://ip.cn"]
    
    docker build -f /mydocker/Dockerfile2 -t myip .
    
    docker run myip 
    
    FROM centos
    RUN yum -y install curl
    ENTRYPOINT ["curl","-s","http://ip.cn"]
    
    docker build -f /mydocker/Dockerfile3 -t myip2 .
    
    docker run myip2 -i
    
    ONBUILD RUN echo "father onbuild-----------"
    
    
    
    docker build -t mytomcat9 .
    
    [root@qdlinux tomcat9]# docker run -d -p 9090:8080 --name mytomcat9 -v /mydocker/tomcat9/test:/usr/local/apache-tomcat-9.0.11/webapps/test -v /mydocker/tomcat9/tomcat9logs/:/usr/local/apache-tomcat-9.0.11/logs --privileged=true mytomcat9
    
    
    [root@qdlinux mydocker]# docker pull mysql:5.7
    [root@qdlinux mydocker]# docker run -p 6666:3306 --name mysql 
    > -v /mydocker/mysql/conf:/etc/mysql/conf.d 
    > -v /mydocker/mysql/logs:/logs 
    > -v /mydocker/mysql/data:/var/lib/mysql 
    > -e MYSQL_ROOT_PASSWORD=123456 
    > -d mysql:5.7
    c199d9f3a88d99c7f8e8b943b9736d3d145ac35021ca02b6c7bad00d3df102df
    
    root@c199d9f3a88d:/# mysql -uroot -p
    Enter password: 
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 2
    Server version: 5.7.23 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql> show databases;
    +--------------------+
    | Database           |
    +--------------------+
    | information_schema |
    | mysql              |
    | performance_schema |
    | sys                |
    +--------------------+
    4 rows in set (0.00 sec)
    
    mysql> create database db01;
    Query OK, 1 row affected (0.00 sec)
    
    mysql> use db01;
    Database changed
    mysql> create table t_book(id int not null primary key,bookName varchar(20));
    Query OK, 0 rows affected (0.04 sec)
    
    mysql> show tables;
    +----------------+
    | Tables_in_db01 |
    +----------------+
    | t_book         |
    +----------------+
    1 row in set (0.00 sec)
    
    mysql> insert into t_book values(1,'java');
    Query OK, 1 row affected (0.05 sec)
    
    mysql> insert into t_book values(2,'php');
    Query OK, 1 row affected (0.02 sec)
    
    mysql> select * from t_book;
    +----+----------+
    | id | bookName |
    +----+----------+
    |  1 | java     |
    |  2 | php      |
    +----+----------+
    2 rows in set (0.00 sec)
    
    
  • 相关阅读:
    Java工作中常用到的工具
    得到区块链直播记录
    如何高效的解决问题
    pgsql数据库应用两点注意
    flask如何使模板返回大文件,又不消耗大量内存
    python内存诊断
    pycharm整体缩进的快捷键
    gdb生成的core文件位置
    gdb源码安装,指定使用的python版本
    gdb源码安装过程中的问题:no termcap library found
  • 原文地址:https://www.cnblogs.com/qdlinux/p/9636809.html
Copyright © 2011-2022 走看看