docker入門(四)
如在文件中遇到什麼問題請聯絡作者 QQ:1172796094
本人正在找深圳Java實習工作,求大佬帶飛
——————————————————————————————————————
介紹
容器是docker的另一個核心概念
簡單的來說,容器是映象的一個執行例項,所不同的是它有額外的可寫檔案層。
如果認為虛擬機器是模擬執行的一整套作業系統(提供了執行態環境和其他系統環境)和跑在上面的應用。那麼docker容器就是獨立執行的一個或一組應用,以及它們的必須執行環境。
檢視容器列表
通過docker ps命令檢視正在執行的容器列表,需要查詢所有的容器需要加-a引數:
查詢正在執行的容器:docker ps
查詢所有容器 docker ps -a
建立容器
通過docker create 命令可以建立一個容器,這僅僅是建立,並沒有啟動容器。
用法: docker create --help
執行後顯示的重要點意思如下
-i, --interactive Keep STDIN open even if not attached 開啟容器的標準輸入
–name string Assign a name to the container 指定容器的名稱
-p, --publish value Publish a container’s port(s) to the host (default [])
指定埠,如:docker create -p 16399:6379 redis:3.0,其中16379是主機埠,6379是容器對外埠,二者對應起來
-t, --tty Allocate a pseudo-TTY 讓Docke分配一個偽端(pseudo-tt)並繫結到容器的標準輸入上
實戰:
docker create -p 16379:6379 --name redis redis:3.0
檢視容器列表:
docker ps -a
啟動容器:
docker start 34(34是代表指定容器的id,輸入前幾位即可)
建立並且執行容器
上面通過docker create建立了容器,然後通過docker start來啟動容器,其實這種做法並不常用。
更常用的是docker run命令,這個命令的意思是建立並且啟動容器。
用法:建立並且執行一個redis容器,它的埠是16380。
那麼命令就是
docker run -p 16380:6379 --name redis2 redis:3.0
輸入命令後發現,這個容器已經建立並且執行,但是,它並沒有在後臺執行,當按下 control + c時,該容器將停止。
為了讓容器在後臺執行,需要新增引數 -d。
docker run -p 16380:6379 -d --name redis2 redis:3.0
報錯說這個容器已經存在 所以我們要給他重新命名
docker run -p 16380:6379 -d --name redis3 redis:3.0
測試結果顯示,該容器可用。
接下來,我看下當前執行的容器:
目錄中有三個容器,redis,redis3正在執行,redis2退出執行。
那麼問題來了,redis2這個容器我不想要了,怎麼刪除?答
docker rm dc5b5c31b22a(dc5b5c**31b22a是這個容器的id)
啟動/停止容器
啟動容器:
docker start xxx(id或者容器名)
停止容器
docker stop xxx(容器名或容器id)
docker stop xxx(容器名或容器id)
刪除容器
通過命令docker rm 刪除容器,刪除正在執行的容器新增 -f 引數。
docker rm xxx(容器id或者容器名)
進入容器
有些時候我們需要進入容器內,做一些操作,比如,修改配置檔案等。
進入容器命令。
docker exec
用法:
docker exec -it redis /bin/bash
如果出現錯誤並且code=2的話,docker版本問題