docker 安裝
Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後發布到任何流行的 Linux 機器上
Docker 使用客戶端-服務器 (C/S) 架構模式,使用遠程API來管理和創建Docker容器。Docker 容器通過 Docker 鏡像來創建。容器與鏡像的關系類似於面向對象編程中的對象與類。
Docker daemon 作為服務端接受來自客戶的請求,並處理這些請求(創建、運行、分發容器)。 客戶端和服務端既可以運行在一個機器上,也可通過 socket 或者RESTful API 來進行通信。 Docker daemon 一般在宿主主機後臺運行,等待接收來自客戶端的消息。 Docker 客戶端則為用戶提供一系列可執行命令,用戶用這些命令實現跟 Docker daemon 交互
一 安裝docker及基礎命令
yum install -y docker-io
service docker start 啟動 docker
docker search centos 搜索鏡像
docker pull centos 下載鏡像
docker push centos 上傳鏡像
docker images 查看鏡像
docker rmi 刪除鏡像
docker run -it centos /bin/bash 啟動進入鏡像
docker ps -a 查看鏡像
docker ps -l 查看最近啟動的docker容器
docker run -d --name mydocker -it centos sh -name docker容器的名字 -d 是在後臺運行
docker rm `docker ps -a -q` 刪除所有容器
docker exec -it centos /bin/bash 進入容器
docker logs container 查看容器日誌
二 docker端口映射
docker run -d -P -name mynginx -P 隨機映射端口
docker run -d -p 91:80 mynginx nginx -p指定宿主機91端口映射到容器80端口
三 docker 數據管理
數據卷是一個可供容器使用的特殊目錄,它繞過文件系統,可以提供很多有用的特性:
數據卷可以在容器之間共享和重用;
對數據卷的修改會立馬有效;
對數據卷的更新,不會影響鏡像;
卷會一直存在,直到沒有容器使用。
數據卷就是從物理機掛到容器中使用 掛載本地的目錄到容器裏
docker run -it --name test1 -h nginx -v /data centos -h 容器名稱 -v 數據卷
docker run -it --name test2 -h nginx -v /opt:/opt centos
數據卷容器 我們需要多個容器之間相互共享數據
docker run -it --name test4 --volumes-from test1 centos
四 dockerfile 構建命令
FROM 來至那個基礎鏡像
MAINTAINER 維護著
RUN 運行的那個命令
CMD 只能執行一次命令
EXPOSE 暴露的端口
ENV 環境變量設置
ADD 復制本地文件到容器
ENTRYPOINT 配置容器啟動後執行的命令
VOLUME 創建一個可以從本地主機或其他容器掛載的掛載點
USER 指定運行容器時的用戶名
WORKDIR 切換目錄
docker build -t nginx:v1 . 構建鏡像
五 Docker 四種網絡模式
host 模式,使用 --net=host 指定。
使用宿主機的 IP 和端口
container 模式,使用 --net=container:NAMEorID 指定。
這個模式指定新創建的容器和已經存在的一個容器共享一個 Network Namespace。
none 模式,使用 --net=none 指定。
這個 Docker 容器沒有網卡、IP、路由等信息。需要我們自己為 Docker 容器添加網卡、配置 IP 等。
bridge 模式,使用 --net=bridge 指定,默認設置。
bridge 模式是 Docker 默認的網絡設置,此模式會為每一個容器分配 Network Namespace、設置 IP 等,並將一個主機上的 Docker 容器連接到一個虛擬網橋上。當 Docker server 啟動時,會在主機上創建一個名為 docker0 的虛擬網橋,此主機上啟動的 Docker 容器會連接到這個虛擬網橋上。
六 docker私有倉庫
docker run -d -p 5000:5000 registry 創建私有倉庫
docker pull registry
docker images
先打鏡像
docker tag docker.io/nginx 192.168.50.39:5000/nginx/vs:2
docker images
上傳鏡像
docker push 192.168.50.39:5000/nginx/vs:2
查看鏡像是否成功
curl -XGET http://192.168.5.2:5000/v2/_catalog # curl -XGET http://192.168.5.2:5000/v2/image_name/tags/list
下載鏡像
docker pull 192.168.50.39:5000/nginx/vs:2
本文出自 “12062356” 博客,謝絕轉載!
docker 安裝