<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                * **驗證容器的啟動是作為Docker Daemon的子進程。** ``` // 容器沒啟動時,環境中docker進程只有一個 [root@iZbp1bum6107bp8mgzkeunZ ~]# ps uax | grep docker root 18808 0.0 1.4 1257996 54516 ? Ssl 22:16 0:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock root 21195 0.0 0.0 112812 980 pts/1 S+ 22:36 0:00 grep --color=auto docker [root@iZbp1bum6107bp8mgzkeunZ ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES b8464578be3d elasticsearch:7.17.2 "/bin/tini -- /usr/l…" 6 months ago Exited (143) 20 minutes ago elasticsearch inspiring_lumiere [root@iZbp1bum6107bp8mgzkeunZ ~]# docker start b8464578be3d b8464578be3d // 容器啟動之后,可以看到es進程是通過docker-entrypoint.sh fork出來的 [root@iZbp1bum6107bp8mgzkeunZ ~]# ps -ef | grep docker root 18808 1 0 22:16 ? 00:00:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock root 21277 18808 0 22:37 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 9300 -container-ip 172.17.0.2 -container-port 9300 root 21289 18808 0 22:37 ? 00:00:00 /usr/bin/docker-proxy -proto tcp -host-ip 0.0.0.0 -host-port 9200 -container-ip 172.17.0.2 -container-port 9200 root 21322 21303 0 22:37 ? 00:00:00 /bin/tini -- /usr/local/bin/docker-entrypoint.sh eswrapper admin 21351 21322 18 22:37 ? 00:00:40 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -XX:+ShowCodeDetailsInExceptionMessages -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dio.netty.allocator.numDirectArenas=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Dlog4j2.formatMsgNoLookups=true -Djava.locale.providers=SPI,COMPAT --add-opens=java.base/java.io=ALL-UNNAMED -XX:+UseG1GC -Djava.io.tmpdir=/tmp/elasticsearch-7059923856959665534 -XX:+HeapDumpOnOutOfMemoryError -XX:+ExitOnOutOfMemoryError -XX:HeapDumpPath=data -XX:ErrorFile=logs/hs_err_pid%p.log -Xlog:gc*,gc+age=trace,safepoint:file=logs/gc.log:utctime,pid,tags:filecount=32,filesize=64m -Des.cgroups.hierarchy.override=/ -Xms64m -Xmx512m -XX:MaxDirectMemorySize=268435456 -XX:G1HeapRegionSize=4m -XX:InitiatingHeapOccupancyPercent=30 -XX:G1ReservePercent=15 -Des.path.home=/usr/share/elasticsearch -Des.path.conf=/usr/share/elasticsearch/config -Des.distribution.flavor=default -Des.distribution.type=docker -Des.bundled_jdk=true -cp /usr/share/elasticsearch/lib/* org.elasticsearch.bootstrap.Elasticsearch -Ediscovery.type=single-node root 22040 8188 0 22:40 pts/1 00:00:00 grep --color=auto docker // docker-entrypoint.sh的父進程是/usr/bin/containerd fork 出來的 [root@iZbp1bum6107bp8mgzkeunZ diff]# ps -ef | grep 21303 root 21303 1 0 22:37 ? 00:00:00 /usr/bin/containerd-shim-runc-v2 -namespace moby -id b8464578be3dcb1b260e31cf9a934232cf837fb37a6c8aa98c6eeafce8d38459 -address /run/containerd/containerd.sock root 21322 21303 0 22:37 ? 00:00:00 /bin/tini -- /usr/local/bin/docker-entrypoint.sh eswrapper root 28155 7821 0 23:34 pts/0 00:00:00 grep --color=auto 21303 ``` * **當容器啟動之后,宿主機的進程中的`/usr/local/bin/docker-entrypoint.sh `是什么?** ``` // 當容器啟動之后,容器進程的父進程為/usr/local/bin/docker-entrypoint.sh ,但在宿主機中卻找不到 [root@iZbp1bum6107bp8mgzkeunZ ~]# ls /usr/local/bin/docker-entrypoint.sh ls: cannot access /usr/local/bin/docker-entrypoint.sh: No such file or directory [root@iZbp1bum6107bp8mgzkeunZ ~]# locate docker-entrypoint.sh // 進入容器,發現此文件的存在 [root@iZbp1bum6107bp8mgzkeunZ 4aec93483c243d1e0047a0a400ad88d2b41da647d7130911df2d6b274dd9b2f3]# docker exec -it b8464578be3d /bin/bash root@b8464578be3d:/usr/share/elasticsearch# ls /usr/local/bin/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh // 而在宿主機中,docker-entrypoint.sh文件存在 /var/lib/docker/overlay2/容器ID目錄下 [root@iZbp1bum6107bp8mgzkeunZ ~]# locate docker-entrypoint.sh /var/lib/docker/overlay2/11d2d17336e03edf186c8fc6a896ab346a80b8430ec21b6555f681b0b31c9d4f/diff/docker-entrypoint.sh /var/lib/docker/overlay2/2c7d4c0ece6493c1d0f4a697292c530f0bb0591ef3e3932bdc5b82c7df5e0d7b/diff/usr/local/bin/docker-entrypoint.sh /var/lib/docker/overlay2/395159cde79b078f64a2dc2d63865d8883958253bdb26fac3370ebe0b5542684/diff/usr/local/bin/docker-entrypoint.sh /var/lib/docker/overlay2/f6016d6ffbf46722a0af6c29c9a7a55f5d71f469600f428a64566c659ab2ec6e/diff/usr/local/bin/docker-entrypoint.sh ``` &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;這是因為,很多著名庫的 Dockerfile 文件中,里面的ENTRYPOINT 字段是這樣定義的,而ENTRYPOINT 正是容器命令。 ``` ENTRYPOINT ["docker-entrypoint.sh"] ``` &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;比如:elasticsearch的dockerfile中的啟動命令。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;docker-entrypoint.sh腳本的作用在于,在啟動容器前,可以通過 此腳本執行預處理邏輯,比如設置環境變量之類的操作,最后把啟動容器入口正式交給dockerfile。 &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;即,需要容器啟動預處理的,都可以使用docker-entrypoint.sh機制。 ``` // https://github.com/cgswong/docker-elasticsearch/blob/main/1.7.0/Dockerfile # Start container ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] CMD [""] ``` &nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 進入容器進行驗證,發現1號進程的確是`docker-entrypoint.sh`進程 ![](https://img.kancloud.cn/bd/47/bd4790c7de43cef348f15b236c0459ac_1427x133.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看