Docker 實踐指南(4)

2021-08-21 05:47:53 字數 1899 閱讀 4087

本節介紹容器的常用操作。

前面說過,服務都是跑在容器裡的,容器的底層實質上也是乙個作業系統,能安裝軟體,有程序,只不過這個系統很精簡。容器和虛擬機器一樣有啟動、停止的狀態。使用 ubuntu 14.04 映象執行乙個容器來體驗一下:

$ docker run -it ubuntu:

14.04 /bin/bash

root@bfffba2819bf

:/#

這樣我們就啟動並進入到了容器裡面,接著輸入一些命令看看效果ps aux,ifconfig,df -h

上面命令中-it引數表示接管容器的標準輸入輸出並開啟乙個偽終端(其實和 windows 的遠端連線是乙個意思,在這裡意思是從宿主機連線到容器裡),跟在命令最後面的/bin/bash表示啟動容器後要執行的程序,由於我們要與容器進行互動,所以得開啟乙個shell

輸入exit退出當前容器,返回宿主機

root@bfffba2819bf

:/# exit

使用docker ps檢視當前宿主系統中容器的狀態

$ docker ps
正常來說是檢視不到東西,這是由於容器要一直保持啟動狀態,就得有持續活動的程序,如果沒有或者程序執行一段時間自己結束掉了,容器會自動停止。這也就是為什麼要在docker run語句的最後面加上/bin/bash,如果不指定,容器裡就沒有程序,當然它將一直無法啟動。理解這個概念很重要。

使用docker ps -a檢視未能啟動(過期)的容器

$ docker ps -a
嘗試啟動並檢視它。操作容器可以使用容器名、容器id、id簡寫,下例演示id簡寫的方式:

$ docker start 77
再次使用docker ps發現依舊未能啟動,這是由於該容器啟動後沒有任何程序,故而自動停止了。刪除這個容器,接下來建立乙個有持久程序存在的容器。

刪除容器:

$

dockerrm-

-force

77fd6

建立乙個容器,name為daemon_container,不開啟互動,以分離(–detach)的形式在後台持續執行:

--name daemon_container --detach ubuntu:14.04 \

/bin/bash -c "while true; do echo i\'am living... ; sleep 1; done"

再次檢視容器狀態:

由於開啟了乙個死迴圈,所以這個程序是不會自己結束的。在宿主層面檢視該容器的程序:

$ docker top daemon_container
看看容器的日誌資訊:

$ docker logs daemon_container
停止容器:

$ docker stop daemon_container
檢視容器詳細描述:

$ docker inspect daemon_container
至此 docker 的基礎操作簡單介紹完畢,後面文章將進入到構建 lnmp 的過程。

Docker 實踐指南(2)

這節介紹安裝方法及加速器的使用 需要注意的是 目前 docker 不支援32位的cpu 推薦使用linux 3.8或更高版本核心 接下來我使用 ubuntu 及centos 兩個常見發行版本作介紹安裝方法 我選用的是 ubuntu 14.04 lts版本。為減少學習困難起見,建議大家先使用此版本 1...

LINQ TO SQLite實踐指南

前言 當前,軟體應用程式中,資料庫已經成為不可缺少的重要組成部分.然而傳統資料庫正趨向巨無霸化,對系統的要求一步步提高,管理成本也越來越大,對於中小型專案的應用,它的很多功能變得越來越多餘,但是我卻不得不為這些不需要的功能付出更多的資金和人力成本.在這些場景,嵌入式資料庫的輕量,零部署,跨平台,義移...

STL實踐指南

stl實踐指南 作者 jeff bogan 介紹這是一篇指導您如何在microsoft visual studio下學習stl並進行實踐的文章。這篇文章從stl的基礎知識講起,循序漸進,逐步深入,涉及到了stl編寫 的方法 stl 的編譯和除錯 命名空間 namespace stl中的ansi is...