docker 快速入門

0. docker簡介:

Docker 項目的目標是實現輕量級的操作系統虛擬化解決方案。 Docker 的基礎是 Linux 容器(LXC)等技術。

在 LXC 的基礎上 Docker 進行了進一步的封裝,讓用戶不需要去關心容器的管理,使得操作更爲簡便。用戶操作 Docker 的容器就像操作一個快速輕量級的虛擬機一樣簡單。

1. docker 安裝

curl -fsSL get.docker.com -o get-docker.sh

sudo sh get-docker.sh --mirror Aliyun

sudo groupadd docker

將當前用戶加入 docker 組:

sudo usermod -aG docker $USER

2. docker 常用命令:

   pull            下載遠端鏡像到本地

   push         推送本地鏡像至遠端倉庫

   stop/rm     停止/刪除容器

   rmi            刪除本地鏡像   

   docker build 製作鏡像

3. docker能做什麼?

   a. 配置開發環境。

      相信大家都遇到過,每次來新人。或者遷移開發環境的時候,我們都需要重新部署開發環境。

      一般linux開發環境,只僅僅需要編譯環境+vim配置+常用軟件安裝。(第三方依賴也可以放在docker中

     簡單示例:

      新建文件dockerfile

From debian:latest
MAINTAINER Saber "[email protected]"
RUN apt-get update && \
apt-get install -y zip curl vim sudo net-tools lrzsz build-essential ssh  psmisc

    運行命令:

    docker build -t sabermqd/env:latest .

    製作完後。只需要docker pull獲取鏡像。

    比如我們開發go服務。

   那麼只需要:

    docker run -v $PWD:/* -w /go/src/* sabermqd/goenv:latest go build && ./*

    附本人的dockerhub:  https://hub.docker.com/r/sabermqd/env/

    不同語言的VIM配置,也可以寫到docker中製作鏡像。 dockerhub的網速較慢。可以自己搭建本地倉庫。

  b. 保證開發環境和線上環境一致。

     這個不用多說。 一般會配合swarm或者k8s使用。

  c. 隔離應用,整合服務。

     有很多種原因會讓你選擇在一個機器上運行不同的應用,比如之前提到的提高開發效率的場景等。
我們經常需要考慮兩點,一是因爲要降低成本而進行服務器整合,二是將一個整體式的應用拆分成鬆耦合的單個服務。
即微服務。 docker技術給微服務帶來了很大的便利。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章