Docker容器的創建、啓動、和停止

Docker容器的創建、啓動、和停止

1、容器是獨立運行的一個或一組應用,及他們的運行環境。容器是Docker中的一個重要的概念。

2、docker容器的啓動有三種方式
a.交互方式,基於鏡像新建容器並啓動
例如我們可以啓動一個容器,打印出當前的日曆表
[root@rocketmq-nameserver4 ~]# docker run my/python:v1 cal ##my/python:v1爲鏡像名和標籤

我們還可以通過指定參數,啓動一個bash交互終端。
[root@rocketmq-nameserver4 ~]# docker run -it my/python:v1 /bin/bash

參數-t讓Docker分配一個僞終端並綁定在容器的標準輸入上,-i讓容器的標準輸入保持打開。

使用docker run命令來啓動容器,docker在後臺運行的標準操作包括
1.檢查本地是否存在指定的鏡像,不存在則從公有倉庫下載
2.使用鏡像創建並啓動容器
3.分配一個文件系統,並在只讀的鏡像層外面掛載一層可讀可寫層
4.從宿主主機配置的網橋接口中橋接一個虛擬接口道容器中去
5.從地址池分配一個ip地址給容器
6.執行用戶指定的應用程序
7.執行完畢之後容器被終止

my/sinatra:v2基於training/sinatra鏡像進行修改後的鏡像,training/sinatra爲公有倉庫上的鏡像。

b、短暫方式,直接將一個已經終止的容器啓動運行起來
可以使用docker start命令,直接將一個已經終止的容器啓動運行起來。

[root@rocketmq-nameserver4 ~]# docker run my/python:v1 /bin/echo hello test 
hello test
命令執行完,控制檯會打印"hello test",container就終止了,不過並沒有消失,
可以用"docker ps -n 5 "看一下最新前5個的container,第一個就是剛剛執行過的container,可以再次執行一遍:docker start container_id

不過這次控制檯看不到”hello test”了,只能看到ID,用logs命令才能看得到:docker logs container_id。
可以看到兩個”hello test”了,因爲這個container運行了兩次。

c、daemon方式,守護態運行
即讓軟件作爲長時間服務運行,這就是SAAS啊!

例如我們啓動centos後臺容器,每隔一秒打印當天的日曆。
$ docker run -d centos /bin/sh -c "while true;do echo hello docker;sleep 1;done"

啓動之後,我們使用docker ps -n 5查看容器的信息

要查看啓動的centos容器中的輸出,可以使用如下方式:
$ docker logs $CONTAINER_ID ##在container外面查看它的輸出 
$ docker attach $CONTAINER_ID ##連接上容器實時查看:

3、終止容器
使用docker stop $CONTAINER_ID來終止一個運行中的容器。並且可以使用docker ps -a來看終止狀態的容器。

終止狀態的容器,可以使用docker start來重新啓動。

使用docker restart命令來重啓一個容器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章