docker的安裝及使用
阿新 • • 發佈:2018-12-09
docker
Docker 是一個開源的應用容器引擎,基於 Go 語言 並遵從Apache2.0協議開源。
Docker 可以讓開發者打包他們的應用以及依賴包到一個輕量級、可移植的容器中,然後釋出到任何流行的 Linux 機器上,也可以實現虛擬化。
容器是完全使用沙箱機制,相互之間不會有任何介面(類似 iPhone 的 app),更重要的是容器效能開銷極低。
沙箱機制就相當於一個輪船運載的集裝箱, 並不關心內部是怎麼樣的, 只關心把這個箱子打包好, 完成運輸
docker 安裝
ubuntu 16.04 安裝最新的 docker
docker有兩個版本, 一個是docker-ce(社群版), 一個是docker-ee(企業版)
docker-compse:可執行和管理多個docker容器。
docker-machine:docker官方提供的docker管理工具。可管理多個docker主機,可搭建swarm叢集。
1.解除安裝舊版本的docker
全新安裝時,無需執行該步驟
$ sudo apt-get remove docker docker-engine docker.io
2.更新系統軟體
$ sudo apt-get update
3.安裝依賴包
$ sudo apt-get install \ apt-transport-https \ ca-certificates \ curl \ software-properties-common
4.安裝官方金鑰
執行該命令時,如遇到長時間沒有響應說明網路連線不到docker網站,需要使用代理進行。
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
顯示OK,就代表新增成功.
5.新增倉庫
$ sudoadd-apt-repository \ "deb [arch=amd64] https://download.docker.com/linux/ubuntu \ $(lsb_release -cs) \ stable"
6.再次更新軟體
$ sudo apt-get update
7.安裝docker
如果想指定安裝某一版本,可使用 sudo apt-get install docker-ce=<VERSION> 命令,把<VERSION>替換為具體版本即可。
預設是安裝最新版本
$ sudo apt-get install docker-ce
8.檢視docker的版本
$ docker -v
顯示“Docker version 17.09.0-ce, build afdb6d4”字樣,表示安裝成功。
docker的基本操作
docker images 檢視本地的映象 docker search 映象名 搜尋網上的相關映象 docker pull 映象名 拉取你要的映象 docker rmi 映象名 刪除映象 docker save 映象名|gzip>>儲存的檔名.tar.gz docker load 儲存的檔名.tar.gz docker run -it 映象名 進入時使用的shell方式 bash sh --name 名字 可以給我們的容器起一個名字 docker ps 檢視正在執行的容器 -a 能顯示那些已經關掉的容器 docker rm 容器id或者容器名字 docker exec -it 容器的名字 bash 進入到一個正在啟動的容器 exit 可以退出當前的容器
網路對映
docker run -d -p 主機埠:容器埠 容器名 命令(比如nginx)
資料卷
-v 宿主機目錄:容器目錄
資料卷容器
--volumes-from + 容器名
容器互聯
先啟動一個容器 docker run -d --name web1 -p 80:80 mynginx ningx 在啟動一個容器: docker run -d --name web2 --link web1 -p 8080:80 mynginx ningx
Dockerfile
FROM ubuntu MAINTAINER louyifei [email protected]163.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 tag ./
常見命令
FROM: 目地:指定基礎的image,表示新程式基於哪個image構建新image 語法: FROM <image>:<tag>tag:版本號,如果沒有,則使用最新版本 MAINTAINER 指定映象建立者資訊 語法:MAINTAINER <name> RUN RUN可以執行任何被基礎image支援的命令 語法: . CMD 容器啟動時執行的操作。該指令只能在檔案中存在一次,如果有多個,則只執行最後一條 USER 設定啟動容器的使用者,預設是root使用者。指定 memcached 的執行使用者daemon ENTRYPOINT 設定容器啟動時執行的操作。該指令只能在檔案中存在一次,如果有多個,則只執行最後一條 EXPOSE 指定容器需要對映到宿主機器的埠 ENV 在image中設定一個環境變數。 ADD 從src複製檔案到容器的的dest路徑 VOLUME 指定掛載點. WORKDIR 切換目錄。可以多次切換工作目錄(相當於cd命令)
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 louyifei8888/project sudo docker push louyifei8888/project