docker基本的操做命令

在腦海中構思一張邏輯圖:
docker基本的操做命令
容器 Container
鏡像:image
倉庫;Repository:
私有倉庫:registry
docker文件:Dockerfile
html

以image爲中心:
docker基本的操做命令
1.docker pull 《鏡像名》 從鏡像倉庫拉取鏡像,(不指定版本,默認拉取latest標籤的)
2.docker push 《鏡像名》從本地的鏡像上傳到鏡像倉庫
docker基本的操做命令
3.docker save -o <鏡像包.tar> 《鏡像》把鏡像導出到本地(在本地查看) -o 等於 output -o 大於 >
4.docker load -i <鏡像包.tar> 根據本地鏡像包導入鏡像 -i 小於 <
docker基本的操做命令
5.docker run -itd --name 《容器名》 《鏡像》 把鏡像製做成容器
6.docker commit 《鏡像名》 《容器》把容器製做成鏡像
docker基本的操做命令![]
1.docker search 《查找的鏡像名 》 查找鏡像
2.docker images查看鏡像
3.查看正在運行的容器: docker ps
4.查看全部容器加-a: docker ps -a
5.刪除鏡像:docker rmi <鏡像名>
6.刪除容器:docker rm <容器名>
能夠根據前面的id號,或者他的名進行刪除。
強制刪除(加-f)
docker rm test -f
若是刪除鏡像只刪除名稱的話,是不影響容器的運行的,由於鏡像根本沒有被刪除。Docker中有緩存機制。nginx

強制刪除(開啓,關閉)全部容器(生產環境嚴禁使用)
docker ps -a -q | xargs docker rm -f
(start,stop)
開啓,關閉
web

中止容器運行
docker stop test
啓動容器
docker start testdocker

運行一個容器
docker run -it   --name  test2 busybox:latest
-i:可交互
-t:僞終端
-d:後臺運行
--name:給容器命名
- -restart=always:始終保持運行,(隨着docker開啓而運行)老是正在運行

進入一個容器
docker  exec  -it  test2 /bin/sh
docker attach  test5
操作區別:exec進入方式須要添加-i -t選項,後面還須要給容器一個shell環境
但attach就不須要這麼麻煩。
Exec進入方式:若是執行exit退出,容器仍然保持運行。
Attach:若是執行exit退出,容器會關閉。若是想要保持容器不被關閉,能夠使用鍵盤,c t r l+p  c t r l+q能夠實現。

本質上的區別:exec進入的方法,會產生新的進程
attach不會生產新的進程。

基於上述知識,測試實驗:
1)基於Centos:7 鏡像運行一個容器,而且,在這個容器內部署Nginx服務
將鏡像製做爲tar包
docker save -o centos.tar centos:7
docker基本的操做命令
查看鏡像
docker images
docker基本的操做命令
導入nginx包
docker基本的操做命令
docker run -itd --name lbs --restart=always centos:7
docker cp nginx-1.14.0.tar.gz lbs:/rootshell

進入容器lbs
docker exec -it lbs /bin/bash
安裝依賴和容器須要的編譯服務
yum -y install gcc pcre pcre-devel openssl openssl-devel zlib zlib-devel
yum -y install make
docker基本的操做命令
建立一個用戶但不給他編譯安裝的權限
useradd -M -s /sbin/nologin nginx
解壓nginx
tar zxf nginx-1.14.0.tar.gz
進入編譯安裝目錄
cd nginx-1.14.0
編譯安裝
./configure --prefix=/usr/local/nginx --user=nginx --group=nignx
make && make install
連接
ln -s /usr/local/nginx/sbin/* /usr/local/sbin/
啓動
nginx
進入html目錄
cd /usr/local/nginx/html/
Echo進入文字
echo lbs6666666666666 > index.html
docker基本的操做命令centos

查看有那個軟件,或命令支持後面的命令
yum provides ip
docker基本的操做命令
安裝支持網絡的服務
yum -y install net-tools
訪問本地ip nginx的web服務
curl 172.17.0.2
docker基本的操做命令緩存

2)將運行完成的容器,製做成一個鏡像,而後再根據此鏡像運行一個容器,保證兩個容器的主頁面內容是同樣的。
把容器製做成鏡像(可移植)
docker commit lbs lbs:12-10
查看鏡像
Docker images
docker基本的操做命令
用剛建立的鏡像,建立容器lbs12並進入
docker run -it --name lbs12 lbs:12-10
啓動nginx服務
Nginx
訪問本地ip
docker基本的操做命令bash

3)將此鏡像導出到docker02上,在docker02上根據此鏡像運行一個容器,測試訪問界面內容。
將剛建立的鏡像製做爲tar包
docker save -o lbs.tar lbs:12-10
docker基本的操做命令
導入到第二臺docker
scp lbs.tar root@192.168.1.20:/root
docker基本的操做命令網絡

根據本地鏡像包導入鏡像
docker load -i lbs.tar
查看鏡像
Docker images
docker基本的操做命令
建立名爲lbs的容器並進入
docker run -it --name lbs lbs:12-10
啓動nginix
nginx
Ifconfig
訪問本地nginx web服務
docker基本的操做命令
注意:根據dockerfile也可生成鏡像
將鏡像導入到第二臺docker虛擬機,也能夠建立私有倉庫。
curl

相關文章
相關標籤/搜索