Docker安裝
本次安裝使用Ubuntu:
1.安裝軟件使apt可以通過(guò)https使用軟件庫(kù)
sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common
2.安裝docker證書(shū)
curl -fsSL http://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
3.寫(xiě)入docker軟件源信息
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"
4.更新軟件源/下載安裝docker-ce
sudo apt-get -y update
sudo apt-get -y install docker-ce
###可以選擇默認(rèn)安裝雾袱,也可以指定docker版本绞旅,方法如下###
(1)查看可選擇安裝的docker版本信息
# apt-cache madison docker-ce
docker-ce | 17.03.1~ce-0~ubuntu-xenial | http://mirrors.aliyun.com/docker-ce/linux/ubuntu xenial/stable amd64 Packages(2)安裝指定版本的Docker-CE
# sudo apt-get -y install docker-ce=17.03.1~ce-0~ubuntu-xenial
(3)使用docker version驗(yàn)證安裝
Client: Version:? ? ? 18.03.1-ce APIversion:? 1.37 Go version:? go1.9.5 Git commit:? 9ee9f40 Built:? ? ? ? Thu Apr 26 07:17:20 2018 OS/Arch:? ? ? linux/amd64 Experimental: false Orchestrator: swarmServer: Engine:? Version:? ? ? 18.03.1-ce? API version:? 1.37 (minimum version 1.12)? Go version:? go1.9.5? Git commit:? 9ee9f40? Built:? ? ? ? Thu Apr 26 07:15:30 2018? OS/Arch:? ? ? linux/amd64? Experimental: false? ? ? //格式原因订歪,不算美觀
鏡像下載
1.啟動(dòng)服務(wù)/查看可供選擇的docker鏡像
#sudo service docker start? #啟動(dòng)服務(wù)
#sudo docker search [要求]? ? ? #查找符合要求的鏡像
NAME? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? DESCRIPTION? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? STARS? ? ? ? ? ? ? ? ? ? ? ? ? ? OFFICIAL? ? ? ? ? ? ? ? ? ? ? ? AUTOMATED
centos? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? The official build of CentOS.? ? ? ? ? ? ? ? ? ? ? ? ? ? 4338? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [OK]? ? ? ? ? ? ? ?
centos7? ? ? ? ? ? ? ? ? ? Ansible on Centos7? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 111? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? [OK]2.將鏡像pull到本地(以上邊的centos為例)
sudo docker? pull [name]? ? #nam為第一步的返回信息如第一條 name=centos
#sudo docker pull centos #返回如下信息
Using default tag: latest
latest: Pulling from library/centos
Digest:sha256:989b936d56b1ace20ddf855a301741e52abca38286382cba7f44443210e96d16
Status: Image is up to date for centos:latest3.查看pull到本地的docker鏡像
#sudo docker images
REPOSITORY? ? ? ? ? ? TAG? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? IMAGE ID? ? ? ? ? ? ? ? ? ? ? ? ? ? CREATED? ? ? ? ? ? ? ? ? ? ? SIZE
centos? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? latest? ? ? ? ? ? ? e934aafc2206? ? ? ? ? ? 8 weeks ago? ? ? ? ? ? ? 199MB
容器創(chuàng)建
1.查看可以使用的docker鏡像(創(chuàng)建時(shí)本地沒(méi)有鏡像會(huì)自動(dòng)下載)
#sudo docker images
REPOSITORY? ? ? ? ? ? TAG? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? IMAGE ID? ? ? ? ? ? ? ? ? ? ? ? ? ? CREATED? ? ? ? ? ? ? ? ? ? ? SIZE
? centos? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? latest? ? ? ? ? ? ? e934aafc2206? ? ? ? ? ? 8 weeks ago? ? ? ? ? ? ? 199MB2.創(chuàng)建容器
sudo docker? run? -itd? -p? --name test1? 8080:80? centos:latest? /bin/bash
ec5c7abadc6cb4304116c7104b2bd236d7146dc434b06ba1a107f322135cc592解析:run 創(chuàng)建啟動(dòng)容器? ? ? d后臺(tái)運(yùn)行? ? ? ? t 打開(kāi)命令交互? ? ? -p 建立端口映射?
? ? ? 8080宿主機(jī)端口? ? ? ? ? ? 80容器端口? ? ? ? ? ? centos:latest 為 REPOSITORY:TAG?
? ? ? /bin/bash存放命令的目錄? ? ? ? ? ? ? ? --name 在創(chuàng)建時(shí)給容器重命名
3.查看創(chuàng)建的容器
sudo docker ps -a? ? #? -a:查看以創(chuàng)建的容器? ? -s:查看正在運(yùn)行的容器
CONTAINER ID? ? ? ? ? ? ? ? IMAGE? ? ? ? ? ? ? ? ? COMMAND? ? ? ? ? ? ? ? ? CREATED? ? ? ? ? ? ? ? STATUS? ? ? ? ? ? ? ? ? ? ? ? PORTS? ? ? ? ? ? ? ? ? ? ? NAMES
1fdb44770b6b? ? ? ? ? centos:latest? ? ? ? ? ? ? ? "/bin/bash"? ? ? ? ? ? ? 21 seconds ago? ? ? ? ? ? ? ? ? Up 20 seconds? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0.0.0.0:8080->80/tcp? ? ? ? ? ? ? ? test1
容器封裝(將容器封裝為鏡像文件)
我們對(duì)容器進(jìn)行修改后封裝為鏡像,在下此使用創(chuàng)建容器時(shí)更方便
1.查看已經(jīng)存在的容器
#sudo docker ps -a
CONTAINER ID? ? ? ? ? ? ? ? IMAGE? ? ? ? ? ? ? ? ? COMMAND? ? ? ? ? ? ? ? ? CREATED? ? ? ? ? ? ? ? STATUS? ? ? ? ? ? ? ? ? ? ? ? PORTS? ? ? ? ? ? ? ? ? ? ? NAMES1fdb44770b6b? ? ? ? ? centos:latest? ? ? ? ? ? ? ? "/bin/bash"? ? ? ? ? ? ? 21 seconds ago? ? ? ? ? ? ? ? ? Up 20 seconds? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 0.0.0.0:8080->80/tcp? ? ? ? ? ? ? ? test1
2.進(jìn)行封裝
#sudo? docker? ? commit? ? 1fdb44770b6b? ? centos:test1
sha256:4abd38999fd5df55f4f46a7eb4ed2d79613eabb577dbebf50db1b25b1918b1fd解析:1fdb44770b6b 容器id? ? ? ? ?
centos:test1 為 REPOSITORY:TAG? ? 通俗解釋為 名稱:版本
3.查看封裝的鏡像文件
#sudo docker images
REPOSITORY? ? ? ? TAG? ? ? ? ? ? ? ? ? ? ? ? ? ? IMAGEID? ? ? ? ? ? ? ? ? ? ? ? ? ? ? CREATED? ? ? ? ? ? ? ? ? ? ? ? ? SIZE
centos? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? test1? ? ? ? ? ? ? ? ? ? ? ? 4abd38999fd5? ? ? ? ? ? ? ? ? ? 48 seconds ago? ? ? ? ? ? 199MB
常用命令
docker run 創(chuàng)建并啟動(dòng)一個(gè)容器留晚,在run后面加上-d參數(shù),則會(huì)創(chuàng)建一個(gè)守護(hù)式容器在后臺(tái)運(yùn)行脾猛。?
docker ps -a? ? ? ? 查看已經(jīng)創(chuàng)建的容器
docker ps -s? ? ? ? 查看已經(jīng)啟動(dòng)的容器?
docker start test? ? ? 啟動(dòng)容器名為test的容器?
docker stop test? ? ? ? 停止容器名為test的容器?
docker rm test? ? ? ? 刪除容器名為test的容器?
docker rename old_name new_name? ? ? 重命名容器
docker rmi imageID? ? ? 刪除一個(gè)鏡像
docker attach? test? ? ? 進(jìn)入名字為test的容器
docker tag IMAGEID(鏡像id) REPOSITORY:TAG(倉(cāng)庫(kù):標(biāo)簽)重命名鏡像
docker? save? ? imageID? >? ? /home/david/test.tar? ? ? 鏡像導(dǎo)出到指定文件目錄
docker? ? load? < /home/david/test.tar? ? ? 指定文件導(dǎo)入鏡像
docker login? 登陸docker-hub
docker logout? 退出登陸
docker push? 庫(kù)? 上傳鏡像到docker-hub
docker pull? ? 庫(kù)? 下載鏡像到本地
docker search 要求? 查找符合要求的鏡像