<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>

                ![](https://cdn.zimug.com/wx-zimug.png) [TOC] docker容器有三種狀態運行、停止、暫停,鏡像可以創建、運行容器,鏡像和容器也可以轉換成tar壓縮包進行存儲。本文為大家介紹容器的狀態轉換命令及鏡像創建運行容器、tar包導入導出相關的命令及使用場景。 ![](http://cdn.zimug.com/9dfbb1f4161c41d058eb6e7a9f9d64ff) 結合下文中的命令介紹來理解上面的這張圖。 ## 一、從鏡像啟動容器 從docker鏡像啟動一個容器的語法如下,使用`docker run`命令。 ``` docker run [OPTIONS] IMAGE [COMMAND] [ARG...] ``` **常用options說明**,`docker create`與`docker run`命令參數幾乎一致,只是`docker run`創建并運行容器,`docker create`只創建(可以`docker ps -a`查看到)不運行容器。 | option | 作用 | | --- | --- | | -d| 守護進程,后臺運行該容器| | -v| 目錄映射,容器目錄掛載到宿主機目錄,格式:`宿主機目錄:容器目錄` | | -p | 指定端口映射,格式:`主機(宿主)端口:容器端口`| | -P| 隨機端口映射,容器內部端口隨機映射到主機的端口| | --name nginx-zimug| 容器名字nginx-zimug| | -m, --memory bytes| 設置容器使用內存最大值 | -h, --hostname string | 指定容器的 hostname| | --dns 8.8.8.8| 指定容器 dns 服務器8.8.8.8| | -e JAVA_HOME="路徑"| 設置環境變量,如JAVA_HOME| |--rm|容器退出時,刪除容器及容器目錄| **示例一**:在后臺(-d)運行一個名稱(--name)為nginx-zimug的容器,將容器的80端口映射到宿主機80端口 ``` docker run -d --name nginx-zimug -p 80:80 nginx ``` **示例二**:如果不加`-d`會在Linux終端下輸出容器的標準輸入輸出日志,當退出終端時,容器停止運行。這種模式通常不用于生產,常用于調試容器。 ~~~ docker run --rm --name nginx-zimug -p 80:80 nginx ~~~ `--rm`參數用于容器運行時停止之后,直接刪除容器,而不是讓容器進入stoped狀態。 **示例三**:`-v` 表示宿主機目錄與容器目錄的映射關系 ``` docker run -d -p 80:80 \ --name nginx-prod \ -v /root/nginx/html:/usr/share/nginx/html \ -v /root/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \ -v /root/nginx/logs:/var/log/nginx nginx ``` ## 二、查看容器與日志 ``` docker ps //查看運行中running狀態的容器 docker ps –a //查看所有狀態的容器(包含running、paused、stopped) docker container ls //等同于docker ps docker container ls –a //等同于docker ps –a ``` 查看的結果如下: ~~~ CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1061ed186789 nginx "/docker-entrypoint.…" 5 minutes ago Up 5 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp nginx-zimug ~~~ * CONTAINER ID :容器ID * IMAGE:鏡像名稱 * COMMAND:容器內部軟件腳本啟動命令 * CREATED: 容器創建的時間 * STATUS:容器的運行狀態 * PORTS: 容器與宿主機的端口映射關系 * NAMES: 容器的名稱 ~~~ docker logs 容器ID; //查看容器日志標準輸出 ~~~ 比如nginx服務的日志如下所示: ![](http://cdn.zimug.com/3007d4586c153f9fb509dbe160e20bd9) ## 三、進入容器內部操作系統 有的時候我們通過`docker ps`和`docker logs`的信息很難判斷容器內部服務的運行情況。這個時候我們就需要進入到容器內部操作系統,使用下面的命令。 ~~~ docker exec?-it?容器ID /bin/bash ~~~ 進入到容器內部操作系統之后,想查看什么信息,就和常規使用linux命令是一樣的。退出容器使用exit命令。 ## 四、停止容器暫停容器 通過`docker ps` 找到處于運行狀態的容器id或容器名稱 ``` docker stop 9be696a0c283 //停止正在運行容器 docker container stop nginx-zimug //停止正運行容器(ID或Names) ``` 執行該命令后容器進入stoped狀態,不再提供服務,不占用宿主機資源。stopped狀態的容器可以再次被啟動。 ~~~ docker pause 容器名/容器ID; //暫停容器服務 docker unpause 容器名/容器ID; //恢復容器服務 ~~~ 除了stop停止容器,還有一種方法是暫停容器服務,如上命令所示。被暫停的容器不再對外服務,但是仍然占用宿主機資源。這種方式并不常用! ## 五、啟動stopped狀態的容器 通過`docker ps -a`可以找到處于stopped狀態的容器信息。使用下面命令可以讓stopped狀態的容器再次進入運行狀態。 ``` docker start 容器名/容器ID ``` 不論容器處于什么狀態,如果想重啟容器,可以使用下面的命令。 ``` docker restart 容器名/容器ID //重啟容器(根據ID或NAMES) ``` ## 六、刪除容器 如果想要刪除容器,一定要讓容器處于stopped狀態才可以。 ``` docker rm 容器ID ``` ## 七、export與import 將容器導出為tar包,生成的是該容器的快照,復刻的是容器當前的linux系統環境 ~~~ docker export nginx-zimug > nginx-zimug.tar ~~~ 如下所示的命令,將tar包導入生成一個鏡像,該鏡像的命名名稱是new-nginx-zimug ~~~ docker import - new-nginx-zimug < nginx-zimug.tar ~~~ ## 八、commit 假設我們有這樣一種場景,容器啟動之后發現一個配置文件參數寫錯了,然后通過`docker exec?-it`進入容器內部對配置文件進行了修改。 我們已經介紹過,一旦容器發生重啟,針對容器所做的任何寫操作全部丟失。那么我們為了將容器修改之后的狀態保存下來,可以使用commit將容器運行時快照,保存為本機的一個鏡像。 ~~~ docker commit -a "zimug" -m "comment" <容器ID或容器名稱> <鏡像名稱> ~~~ 比如使用下面的命令將容器nginx-zimug保存為鏡像nginx:zimug ~~~ docker commit -a "zimug" -m "comment" nginx-zimug nginx:zimug ~~~ 通過`docker images`查看commit產生的鏡像 ~~~ # docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx zimug 7e4e3219870e 8 seconds ago 142MB ~~~ ## 九、查看容器配置及資源使用情況 查看容器配置信息,該命令會返回一個json格式信息,如網絡配置、環境變量配置、端口配置、數據卷配置等信息。 ~~~ docker?inspect <容器ID或容器名稱> ~~~ 查看容器資源使用情況,使用`docker stats`命令,可以查看CPU使用率,內存使用率 、網絡IO、磁盤IO、進程號等信息。 ~~~ # docker?stats nginx-zimug CONTAINER ID NAME CPU % MEM USAGE / LIMIT MEM % NET I/O BLOCK I/O PIDS ec6953bce17b nginx-zimug 0.00% 1.41MiB / 990.9MiB 0.14% 656B / 0B 0B / 7.68kB 2 ~~~ 使用`docker top`命令可以查看容器內進程信息。如下問所示,一個master進程,一個worker進程。 ~~~ # docker top nginx-zimug UID PID PPID C STIME TTY TIME CMD root 6169 6150 0 10:27 ? 00:00:00 nginx: master process nginx -g daemon off; 101 6217 6169 0 10:27 ? 00:00:00 nginx: worker process ~~~
                  <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>

                              哎呀哎呀视频在线观看