一文學會Docker使用(更新中)

首發地址:我的博客

前言

Docker我以前學過,但是太久沒用,忘得差不多了。。。這幾天準備把寫好的Django應用通過Docker部署到服務器,所以重新複習了Docker,於是寫了此文,希望對想使用Docker的你有所幫助。

初識Docker

Docker 是一個開源的應用容器引擎,Docker 可以讓開發者打包他們的應用以及依賴包到一個可移植的容器中,然後發佈到任何流行的 Linux 機器上,也可以實現虛擬化。

Docker 的整個生命週期由三部分組成:鏡像(image)+ 容器(container)+ 倉庫(repository)

鏡像是一個只讀的模板,它包括了運行容器所需的數據。鏡像可以包含一個完整的 Linux 操作環境,裏面僅安裝了 Python 或者其他用戶需要的程序。

容器是由鏡像創建出來的實例,類似虛擬機,裏面可以運行特定的應用,並且容器與容器是相互隔離的。

倉庫概念與 Git 和 Github 類似,如果你用過它們就非常容易理解。Docker 使用的默認倉庫是由官方維護的 Docker hub 公共倉庫,從中上傳、拉取的操作類似 Git。

安裝Docker

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun

檢驗Docker是否安裝成功

$ docker run hello-world

Unable to find image 'hello-world:latest' locally
......
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
......
Hello from Docker!
This message shows that your installation appears to be working correctly.
......

官方文檔

Docker命令

查看本地已有鏡像

$ docker images

REPOSITORY      TAG        IMAGE ID           CREATED           SIZE
hello-world     latest     fce289e99eb9       9 months ago      1.84kB

# 鏡像名           版本        ID 號             創建時間           大小

查看本地已有的容器

$ docker ps -a

刪除鏡像

$ docker rmi [images ID]  

刪除容器

$ docker container rm [container ID]  

停止容器

$ docker container stop [container ID] 

啓動容器

$ docker container start [container ID]  

Dockerfile

Docker 允許通過文本格式的配置文件來構建鏡像,默認名稱爲 Dockerfile

Docker compose

在線上環境中,通常不會將項目的所有組件放到同一個容器中;更好的做法是把每個獨立的功能裝進單獨的容器,這樣方便複用。比如將 Django 代碼放到容器A,將 Mysql 數據庫放到容器B,以此類推。

因此同一個服務器上有可能會運行着多個容器,如果每次都靠一條條指令去啓動,未免也太繁瑣了。 Docker-compose 就是解決這個問題的,它用來編排多個容器,將啓動容器的命令統一寫到 docker-compose.yml 文件中,以後每次啓動這一組容器時,只需要 docker-compose up 就可以了。

Ubantu安裝Docker compose

官方文檔 | 查看最新版本

根據新版本的變化自行調整下面命令中的版本來安裝:

# 下載docker-compose
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 給docker-compose執行權限
$ chmod +x /usr/local/bin/docker-compose

# 查看docker compose版本,測試是否安裝成功
$ docker-compose  version
docker-compose version 1.25.5, build 8a1c60f6

Docker compose命令

啓動容器服務

$ docker-compose up

#Ctrl + C 即可停止開發服務器運行

刪除容器

停止服務器後實際上容器還存在,只是停止運行了而已,輸入下面命令可以刪除容器

$ docker-compose down

後臺運行容器

$ docker-compose up -d

重新構建鏡像

$ docker-compose build

啓動和停止已有的容器:

$ docker-compose start
$ docker-compose stop

查看容器日誌

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