上一篇文章我講述了Docker的一些基本概念,包括Docker的三大核心知識幢炸、Docker和傳統(tǒng)虛擬技術(shù)的區(qū)別等泄隔。
這一篇我將介紹下Docker的安裝和使用方式
首先是如何安裝Docker,下面我將介紹在兩種Linux內(nèi)核操作系統(tǒng)下安裝Docker
其一是Ubuntu/Debian 安裝 Docker CE:
$ sudo apt-get update
$ sudo apt-get install docker-ce
啟動Docker
$ sudo systemctl enable docker
$ sudo systemctl start docker
建立 docker 組:
$ sudo groupadd docker
將當(dāng)前用戶加入 docker 組:
$ sudo usermod -aG docker $USER
其二是Centos安裝Docker CE:
$ sudo yum makecache fast
$ sudo yum install docker-ce
啟動Docker
$ sudo systemctl enable docker
$ sudo systemctl start docker
建立 docker 組:
$ sudo groupadd docker
將當(dāng)前用戶加入 docker 組:
$ sudo usermod -aG docker $USER
安裝好Docker后宛徊,我們看一下Docker使用的一些指令:
首先是如何操作鏡像:
從倉庫下載鏡像文件:
docker pull [選項] [Docker Registry 地址[:端口號]/]倉庫名[:標(biāo)簽]
如docker pull ubuntu:18.04
查看本地的鏡像列表:
docker image ls [選項]
選項中可填寫指定的鏡像名用以列出部分鏡像
刪除本地鏡像:
docker image rm [選項] <鏡像1> [<鏡像2> ...]
使用Dockerfile定制鏡像:
Dockerfile 中每一個指令都會建立一層佛嬉,RUN 也不例外。每一個 RUN 的行為闸天,就和剛才我們手工建立鏡像的過程一樣:新建立一層暖呕,在其上執(zhí)行這些命令,執(zhí)行結(jié)束后苞氮,commit 這一層的修改湾揽,構(gòu)成新的鏡像。
類似下面的文件內(nèi)容
FROM nginx
RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
命令介紹:
FROM 指定基礎(chǔ)鏡像
COPY 拷貝文件
RUN 執(zhí)行命令
EXPOSE 暴露端口
CMD 容器啟動命令
ENV 設(shè)置環(huán)境變量
ENTRYPOINT 入口點
WORKDIR 指定工作目錄
USER 指定當(dāng)前用戶
構(gòu)建鏡像:
docker build [選項] <上下文路徑/URL/->
每個鏡像都由很多層次構(gòu)成,Docker 使用 Union FS 將這些不同的層結(jié)合到一個鏡像中去库物。
通常 Union FS 有兩個用途, 一方面可以實現(xiàn)不借助 LVM霸旗、RAID 將多個 disk 掛到同一個目錄下,另一個更常用的就是將一個只讀的分支和一個可寫的分支聯(lián)合在一起,Live CD 正是基于此方法可以允許在鏡像不變的基礎(chǔ)上允許用戶在其上進行一些寫操作戚揭。
Docker 在 AUFS 上構(gòu)建的容器也是利用了類似的原理诱告。
之后是操作容器:
新建并啟動:
docker run container
啟動已終止的容器:
docker container start
更多的時候,需要讓 Docker 在后臺運行而不是直接把執(zhí)行命令的結(jié)果輸出在當(dāng)前宿主機下毫目。此時蔬啡,可以通過添加 -d 參數(shù)來實現(xiàn)。
要獲取容器的輸出信息镀虐,可以通過 docker container logs 命令箱蟆。
終止容器:
docker container stop
導(dǎo)出容器:
docker export 7691a814370e > ubuntu.tar
導(dǎo)入容器:
cat ubuntu.tar | docker import - test/ubuntu:v1.0
刪除容器:
docker container rm? 容器名
清楚所有處于終止態(tài)的容器:
docker container prune
以上只是簡單介紹了Docker操作鏡像和容器的命令,適用于操作單個服務(wù)刮便,如果一個項目需要同時啟動多個服務(wù)空猜,那么則需要用到docker-compose工具,在后續(xù)的章節(jié)中我會詳細的介紹怎么使用docker-compose恨旱。
參考文章:Docker底層實現(xiàn)辈毯、這可能是最為詳細的Docker入門吐血總結(jié)
未完待續(xù)。搜贤。谆沃。