說明
容器是docker又一核心概念加叁,容器的運行基于鏡像之上倦沧,是獨立運行的一個或一組應用
啟動容器
啟動容器有兩種方式,一種是基于鏡像新建一個容器并啟動它匕,另外一個是啟動停止狀態(tài)的容器
-
新建并啟動
命令:docker run
- 輸出hello world展融,然后終止容器
[root@localhost ~]# docker run centos /bin/echo 'hello world'
- 進入docker容器,在終端交互
[root@localhost ~]# docker run -it centos
- 容器停止后自動刪除容器
[root@localhost ~]# docker run -it --rm centos
解釋
-it:是兩個參數(shù)豫柬,-i 讓容器的標準輸入保持打開告希,-t讓docker分配一個偽終端
--rm:容器退出,自動刪除烧给,可通過docker ps -a查看docker 使用run啟動容器時的步驟:
- 檢查本地是否存在指定的鏡像燕偶,沒有就從公有倉庫下載
- 分配一個文件系統(tǒng),在只讀層的鏡像層外面再掛載一個讀寫層
- 從宿主機橋接一個虛擬接口道容器中去
- 從地址池分配一個ip地址給容器
- 執(zhí)行用戶指定的程序
- 執(zhí)行完畢后終止容器
-
啟動已終止的容器
[root@localhost ~]# docker start xxx
-
后臺運行
docker默認是在前臺運行础嫡,會將輸入直接打印到當前宿主機指么,更多情況下需要將容器放后臺運行,使用docker logs CONTAINER查看輸出內(nèi)容[root@localhost ~]# docker run docker run --name nginx_v3 -d -p 80:80 nginx:v3
終止容器
docker stop
導出導入容器
-
導出容器
命令:docker export
[root@localhost ~]# docker ps -a CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 0b7c70f3f7ba nginx:v3 "nginx -g 'daemon ..." 23 hours ago Exited (0) 23 hours ago nginx_v3 [root@localhost ~]# docker export 0b7c70f3f7ba > nginx_v3.tar
-
導入容器
命令:docker import
- 從本地文件導入
[root@localhost ~]# docker import nginx_v3.tar nginx:v4 sha256:e4d7efa6c90b4465a4d50b9e2a02b39da5f9d2fe127687aa0ddd4669309bfecf [root@localhost mynginx]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE nginx v4 e4d7efa6c90b 54 seconds ago 717 MB
- 從RUL導入
[root@localhost ~]# docker import http://example.com/test.tgz example
刪除容器
命令:docker rm
清楚所有處于終止狀態(tài)的容器
[root@localhost ~]# docker rm $(docker ps -a -q)
docker 默認不會刪除正在運行的容器