Docker学习(四)-----Docker容器常用命令
生活随笔
收集整理的這篇文章主要介紹了
Docker学习(四)-----Docker容器常用命令
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
七.Docker容器
容器是Docker核心概念
簡單的說,容器是獨立運行的一個或一組應用,以及它們的運行環境
對應的,虛擬機可以理解為模擬運行的一整套操作系統(提供了運行態環境和其他系統環境)和運行在上面的應用
7.1查看容器狀態
docker ps //查看運行的容器
docker ps -a //查看所有的容器(包含運行和退出)
docker container ls
docker container ls-a
7.2Docker啟動容器
啟動容器有二種方式,一種是基于鏡像新建一個容器并啟動,一種是將在終止狀態(stopped)的容器重新啟動
docker run 參數 鏡像名稱:tag 執行的命令
常用的參數:
-i保持和docker容器內的交互,啟動容器時,運行的命令結束后,容器依然存活,沒有退出(默認是會退出,即停止的)
-t 為容器的標準輸入虛擬一個tty
-d 后臺運行容器
--rm 容器在啟動后,執行完成命令或程序后就銷毀
--name 給容器起一個自定義名稱
-p 宿主機:內部端口
練習1:
docker 方式完整的啟動tomcat服務器
docker run --rm -d --name tomcat1 -p 8080:8080 tomcat
舉例說明
創建一個新的容器并啟動tomcat,按ctrl+c退出
docker run tomcat
刪除容器
docker rm 容器ID//docker rmi是刪除鏡像,這里是刪除容器
7.3查看正在運行的容器
docker ps
7.4查看所有容器
docker ps -a
7.5停止容器
通過docker ps 找到容器id
docker stop 容器id //停止正在運行容器(或Ctrl+c)
docker container stop tomcat1 //停止整運行容器(ID或Names)
7.6啟動已終止容器
通過docker ps找到容器id
docker start 容器名/容器 ID
7.7重啟已關閉容器
docker restart 容器ID //啟動容器(根據ID或NAMES)
7.8刪除容器(刪除容器前,該容器應該是停止(關閉))
docker rm 容器ID
docker rm $(docker ps -a -q)刪掉所有的容器
7.9Docker守護態運行
需要讓Docker在后臺運行而不是直接把執行命令的結果輸出在當前宿主機下。此時,可以通過添加-d參數來實現
7.10Docker進入容器
某些時候需要進入容器進行操作,使用docker exec命令
-i -t 參數
docker exec后邊可以跟多個參數,這里主要說明-i -t參數
只用-i參數時,由于沒有分配偽終端,界面沒有我們熟悉的Liunx命令提示符,但命令執行結果仍然可以返回
當-i -t參數一起使用時,則可以看到我們熟悉的Liunx命令提示符
docker exec -it 容器ID(Names)bash
示例:
進入容器,對默認的tomcat進行頁面修改,然后再訪問查看效果
注意默認容器內liunx包是最小安裝,只擁有最基本的命令
exit,不會導致容器的停止
docker exec -it tomcat1 bash //進入容器名稱叫tomcat1
echo 'qfnj-weixin'>>index.jsp //對容器內的index.jsp進行字符串追加
7.11在宿主機和容器之間交換文件
在宿主機和容器之間相互COPY文件 cp的用法如下
docker cp [OPTIONS] CONTAINER:PATH LOCALPATH //容器中 復制到 宿主機
docker cp [OPTIONS] LOCALPATH| - CONTAINER:PATH //宿主機 復制到 容器中
宿主機復制一個圖片到容器中:將png圖片復制到了容器指定目錄下
docker cp test.png tomcat2:/usr/local/tomcat/webapps/ROOT
將容器內的index.jsp復制出來,修改再復制回去
docker cp tomcat2:/usr/local/tomcat/webapps/ROOT/index.jsp /root
總結
以上是生活随笔為你收集整理的Docker学习(四)-----Docker容器常用命令的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 计算最长公共子序列
- 下一篇: Docker学习(五)-----Dock