Docker 是一個開源的應(yīng)用容器引擎,基于Go語言并遵循Apache2.0協(xié)議開源。
Docker 可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個輕量級、可移植的容器中,然后發(fā)布到任何流行的 Linux 機(jī)器上,也可以實現(xiàn)虛擬化。
容器是完全使用沙箱機(jī)制,相互之間不會有任何接口(類似 iPhone 的 app),更重要的是容器性能開銷極低。
首先我們在學(xué)習(xí)Docker之前,我們必須明白Docker的3個基本概念。
鏡像(Image):Docker 鏡像(Image),相當(dāng)于一個完整的Linux系統(tǒng)。比如官方鏡像Ubuntu:18.04就是一個網(wǎng)站的最小Linux系統(tǒng)。鏡像可以啟動為容器。容器(Container):鏡像(Image)和容器(Container)有一定的關(guān)系,鏡像是容器的基礎(chǔ);鏡像是靜態(tài)的文件,容器是鏡像啟動的實體。容器可以創(chuàng)建、啟動、停止、刪除、保存。容器可以保存為鏡像。倉庫(Repository):倉庫是用來保存鏡像的。2.Ubuntu下安裝Docker直接使用apt-get安裝即可
sudo apt-get install docker.io
Ubuntu下啟動Docker服務(wù)
sudo systemctl start docker
Ubuntu下停止Docker服務(wù)
sudo systemctl stop docker
Ubuntu下重啟Docker服務(wù)
sudo systemctl restart docker
Ubuntu下設(shè)置Docker服務(wù)開機(jī)自啟
sudo systemctl enable docker
3.Docker的使用1.鏡像查找docker search ubuntu:18.04
docker search 鏡像名
NAME: 鏡像倉庫源的名稱DESCRIPTION: 鏡像的描述OFFICIAL: 是否 docker 官方發(fā)布stars: 類似 Github 里面的 star,表示點贊、喜歡的意思。AUTOMATED: 自動構(gòu)建。
2.鏡像拉取docker pull ubuntu:18.04
docker pull 鏡像名
3.刪除鏡像docker rmi ubuntu:18.04
docker rmi 鏡像名
4.啟動一個容器docker run --name 容器名 -itd -p 宿主機(jī)的指定端口:容器指定端口 鏡像名
--name:指定容器名-i:交互式操作-t:終端-d:后臺運行-p:端口映射,將容器指定端口映射到宿主機(jī)的指定端口上。
5.進(jìn)入容器docker exec -it 容器名 bash
此時就活動了容器的shell,我們就可以對這個容器進(jìn)行操作了,比如搭建web環(huán)境
1.查看所有容器docker ps -a
2.啟動停止的容器docker start <容器 ID>
3.停止一個容器docker stop <容器 ID>
4.容器得到刪除docker rm <容器 ID>
5.把Docker容器打包為鏡像docker commit 當(dāng)前運行的容器名 新鏡像名:版本號
6.打包鏡像給別人使用方法1、
docker save 鏡像名字:版本號 > 打包名字.tar
方法2、
docker save -o 打包名字.tar 鏡像名字:版本號
7.將打包成 tar 的鏡像加載到Docker中docker load < 打包名字.t