Docker的基本使用

Docker簡介

  Docker 是一個開源的應用容器引擎,讓開發者能夠打包他們的應用以及依賴包到一個可移植的容器中,而後發佈到任何流行的Linux機器上,也能夠實現虛擬化。容器是徹底使用沙箱機制,相互之間不會有任何接口。nginx

  它是一項虛擬化技術,應用場景普遍如web部署 能夠快速部署咱們的應用。cgroup 技術幫咱們實現資源的限制 namespace 來完成對資源的隔離。web

docker的安裝

  參考文檔:https://blog.csdn.net/nimoyaoww/article/details/79155489docker

docker的基本操做

docker images           查看本地的鏡像
docker search 鏡像名       搜索網上的相關鏡像
docker pull 鏡像名        拉取你要的鏡像
docker rmi 鏡像名         刪除鏡像
docker save 鏡像名|gzip>>保存的文件名.tar.gz   將拉取下來的鏡像保存在本地
docker load < 保存的文件名.tar.gz             將保存的鏡像文件從新加載
docker inspect 容器名或id             能查看到此容器的信息
docker logs 容器名或id               查看日誌 若是加了-f 參數就能夠動態查看日誌
docker run
-it 鏡像名 (bash/sh)進入時使用的shell方式

        -t 分配一個僞終端
        -i 讓容器的標準輸入保持一個打開的狀態shell

      --name 名字 能夠給咱們的容器起一個名字
      --rm 退出容器的時候 自動刪除容器
docker ps 查看正在運行的容器
-a 能顯示那些已經關掉的容器 docker rm 容器id或者容器名字                刪除容器(加-f表示強制刪除) docker attach 容器名字或id       進入到一個啓動中的容器(退出容器自動中止)
docker exec -it 容器名字 bash/sh    進入到一個啓動中的容器(退出容器不中止) exit                             能夠退出當前的容器 docker commit
-m "註釋" 容器名字或id 生成的鏡像的名字 將現有的容器生成新的鏡像保存在本地倉庫

docker網絡映射ubuntu

端口映射
-P 隨機映射
-p 主機端口:容器端口bash

docker run -it -d --name 名字 -p 主機端口:容器端口 容器名 

數據卷網絡

docker run -it -d --name 名字 -v 宿主機目錄:容器目錄 容器名 

數據卷容器ui

docker run -it -d --name 名字 --volumes-from  容器名 

容器互聯spa

先啓動一個容器 docker run -d --name web1 -p 80:80 ningx
在啓動一個容器: docker run -d --name web2 --link web1 -p 8080:80 ningx

基礎的Dockerfile的編寫(文件名必須叫Dockerfile).net

FROM ubuntu

MAINTAINER liuda liuda@1000phone.com

RUN apt-get update
RUN apt-get install nginx -y

RUN echo "daemon off;">>/etc/nginx/nginx.conf
#設置開放端口
EXPOSE 80

# 默認在容器啓動的時候執行的命令
CMD ["nginx"]

構建命令

sudo docker build -t 標籤名字 ./

上傳本身的鏡像到倉庫

  • 1 docker login 能夠加你的docker網址 默認是https://hub.docker.com
  • 2 給你的鏡像打標籤 docker tag 鏡像名/id 用戶名/存到遠端叫什麼:tag標籤
  • 3 docker push 第2步 鏡像名/id後邊跟的 名字
   sudo docker login
   sudo docker images
   sudo docker tag 77b3321ee9b8 whoareyou0401/1805ubuntu
   sudo docker push whoareyou0401/1805ubuntu

 補充

sudo docker start 0b4bb44bfa81                                 運行一箇中止的容器
sudo docker inspect --format "{{.State.Pid}}" 0b4bb44bfa81     獲取指定id的容器的進程PID
sudo nsenter -t 2916 -u -i -n -p                               進入到一個運行中的容器(推薦方式,2916是容器進程PID)
sudo docker ps -a -q                                           獲取容器id
sudo docker kill $(sudo docker ps -a -q)                       殺死一個運行的容器進程
sudo docker logs 容器id                                           查看容器的訪問日誌
相關文章
相關標籤/搜索