天天看點

Docker的安裝,容器的基本操作

一、docker的安裝

步驟 1 通過 uname –r 指令檢視目前系統的核心版本。

uname -r
           

步驟 2 使用 root 權限登入 CentOS。輸入以下指令,将 yum 包(YUM,全稱 Yellow dog Updater, Modifier,是一個自由、開源的指令行軟體包管理工具,運作在基于 RPM 包 管理的的 Linux 作業系統)更新到最新(後續過程中若需輸入,輸入 y 即可)。

sudo yum update
           

步驟 3 使用以下指令安裝需要的軟體包,yum-util 提供 yum-config-manager 功能。

sudo yum install –y yum-utils device-mapper-persistent-data lvm2
           

步驟 4 使用以下指令設定 yum 源。

sudo yum-config-manager \--add-repo \https://download.docker.com/linux/centos/docker-ce.repo
           

步驟 5 使用以下指令檢視所有倉庫中所有 docker 版本,并選擇特定版本安裝。

yum list docker-ce --showduplicates | sort -r
           

步驟 6 使用以下指令安裝 docker,過程中如需輸入,請輸入 y。(安裝時長與雲伺服器綁定 帶寬有關,如使用較小帶寬,請耐心等待 5-10min。)

sudo yum install docker-ce
           

注意:如過程出現報錯,可手動輸入指令,注意指令格式及指令間空格,使用者也可自行查找其 它安裝 docker 的方式。

步驟 7 分别輸入以下指令啟動并加入開機啟動。

sudo systemctl start docker
sudo systemctl enable docker
           

步驟 8 輸入以下指令驗證安裝是否成功(有 client 和 service 兩部分表示 docker 安裝啟動都 成功。)

docker version
           

二、容器的基礎操作

一、運作一個容器

步驟 1 輸入以下指令建立一個名為 test 的 httpd 容器。

docker create --name test httpd
           

步驟 2 輸入以下指令檢視該容器資訊。

docker ps -a
           

步驟 3 輸入以下指令啟動容器 test。

docker start test
           

步驟 4 輸入以下指令再次檢視容器的 huawei 資訊,狀态為 UP。

docker container ls
           

步驟 5 輸入以下指令停止容器 huawei,并檢視到該容器狀态為 Exited。

docker stop test
docker ps –a
           

步驟 6 删除容器 test,并檢視容器資訊,發現已删除。

docker rm test
docker ps –a
           

二、docker exec 進入容器

步驟 1 在背景運作一個名為“httpd1”的 httpd 容器,并将其服務端口 80 映射到主控端 8080 端口。

docker run --name httpd1 -d -p 8080:80 httpd
           

步驟 2 輸入以下指令通路容器 httpd1。

curl 127.0.0.1:8080
           

步驟 3 輸入以下指令進入容器 httpd1。

docker exec -it httpd1 bash
           

步驟 4 分别輸入以下指令修改 httpd1 容器中靜态檔案内容,修改完成後輸入“exit”退出。

cd htdocs
ls
echo "update to httpd" > index.html
exit
           

步驟 5 輸入以下指令再次通路容器 httpd1。容器依舊可正常通路,說明“exit”退出并不會 導緻容器程序結束。

curl 127.0.0.1:8080
           

三、Dockerfile 建構容器鏡像

步驟 1 使用以下指令在/root 目錄下建立一個 dockerfile 檔案夾。

mkdir dockerfile
           

步驟 2 進入 dockerfile,并建立一個名為 dockerfile1 的 dockerfile 檔案。

cd dockerfile
touch dockerfile1
           

步驟 3 使用 vi 編輯器編輯 dockerfile1。

vi dockerfile1
輸入如下内容:
FROM httpd
MAINTAINER [email protected]
RUN echo “dockerfile test”> /usr/local/apache2/htdocs/index.html
輸入 ecs,輸入:wq 儲存并退出
           

步驟 4 建構鏡像,鏡像命名為 httpd:v11

docker build -t httpd:v11 -f dockerfile1 /root/dockerfile
           

步驟 5 檢視建立的鏡像。

docker images
           

步驟 6 以鏡像 httpd:v11 運作一個容器。

docker run -d -p 8081:80 httpd:v11
           

步驟 7 驗證容器内容。

curl 127.0.0.1:8081
           

四、搭建私有 Registry

步驟 1 在/root 目錄下建立一個 myregistry 檔案夾,作為私有 Registry 的存儲空間。

mkdir myregistry
           

步驟 2 運作一個 registry 容器,并将主機 1000 端口映射到到其服務端口 5000。同時挂載步 驟 1 中建立的檔案夾作為 image 存儲空間。

docker run -d -p 1000:5000 -v /root/myregistry:/var/lib/registry registry
           

步驟 3 将 httpd:v11 更改成 Registry 要求的格式,并檢視。

docker tag httpd:v11 127.0.0.1:1000/michael/httpd:v11
docker images
           

步驟 4 将鏡像 michael/httpd:v11 上傳至 Registry。

docker push 127.0.0.1:1000/michael/httpd:v11
           

步驟 5 檢視 Registry 中的鏡像。

curl 127.0.0.1:1000/v2/_catalog
           

步驟 6 删除主控端上的 httpd:v11 鏡像。

docker rmi httpd:v11