docker基本用法


title: docker基本使用
tags:

  • 學(xué)習(xí)筆記
  • docker
  • linux

以下的命令有的需要root權(quán)限,如果報錯請使用root,或加sudo

1、添加yum源。

yum install epel-release –y
yum clean all# yum list

2、安裝并運行Docker。

yum install docker-io –y
systemctl start docker

3、檢查安裝結(jié)果。

docker info 

出現(xiàn)以下xin說明信息則表明安裝成功。

2

docker基本用法

1、Docker守護進程管理。

systemctl start docker    #運行Docker守護進程
systemctl stop docker      #停止Docker守護進程
systemctl restart docker   #重啟Docker守護進程

2、鏡像管理。

下載基礎(chǔ)鏡像,具體操作可參考如何下載docker鏡像,本文使用的是來自阿里云倉庫的Apache鏡像。您可在阿里云docker市場搜索更多鏡像

# docker pull registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5

修改標(biāo)簽,由于阿里云倉庫鏡像的鏡像名稱很長,可以修改鏡像標(biāo)簽以便記憶區(qū)分。

# docker tag  registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5:latest aliweb:v1

查看已有鏡像。

# docker images

強制刪除鏡像。

# docker  rmi  –f  registry.cn-hangzhou.aliyuncs.com/lxepoo/apache-php5

3、容器管理。e121d5f99e1e是執(zhí)行docker images命令查詢到的IMAGE ID,使用docker run命令進入容器。

# docker run –ti e121d5f99e1e /bin/bash

使用exit可以退出當(dāng)前容器。run命令加上–d參數(shù)可以在后臺運行容器,—name指定容器命名為apache。

# docker run -d --name apache e121d5f99e1e

進入后臺運行的容器。

# docker exec -ti apache /bin/bash

將容器做成鏡像。

# docker commit containerID/containerName  newImageName:tag

為了方便測試和恢復(fù),先將源鏡像運行起來后再做一個命名簡單的鏡像做測試。

# docker commit 4c8066cd8c01 apachephp:v1

運行容器并將宿主機的8080端口映射到容器里去。

# docker run -d -p 8080:80 apachephp:v1

在瀏覽器輸入宿主機ip加8080端口訪問測試,出現(xiàn)以下內(nèi)容則說明運行成功。

1

鏡像制作

1、準(zhǔn)備dockerfile內(nèi)容。

# vim Dockerfile FROM apachephp:v1  #聲明基礎(chǔ)鏡像來源MAINTAINER DTSTACK #聲明鏡像擁有者RUN mkdir /dtstact #RUN后面接容器運行前需要執(zhí)行的命令,由于Dockerfile文件不能超過127行,因此當(dāng)命令較多時建議寫到腳本中執(zhí)行ENTRYPOINT ping www.aliyun.com #開機啟動命令,此處最后一個命令需要是可在前臺持續(xù)執(zhí)行的命令,否則容器后臺運行時會因為命令執(zhí)行完而退出。

2、構(gòu)建鏡像。

docker build -t webcentos:v1 .   # . 是Dockerfile文件的路徑,不能忽略docker images                    #查看是否創(chuàng)建成功docker run –d webcentos:v1       #后臺運行容器docker ps                        #查看當(dāng)前運行中的容器docker ps –a                     #查看所有容器,包括未運行中的docker logs CONTAINER ID/IMAGE   #如未查看到剛才運行的容器,則用容器id或者名字查看啟動日志排錯docker commit fb2844b6c070 dtstackweb:v1 #commit 后接容器id 和構(gòu)建新鏡像的名稱和版本號。docker images                    #列出本地(已下載的和本地創(chuàng)建的)鏡像docker push                      #將鏡像推送至遠程倉庫,默認為 Docker Hub

3、將鏡像推送到registry。

docker login --username=dtstack_plus registry.cn-shanghai.aliyuncs.com #執(zhí)行后輸入鏡像倉庫密碼docker tag [ImageId] registry.cn-shanghai.aliyuncs.com/dtstack123/test:[鏡像版本號]docker push registry.cn-shanghai.aliyuncs.com/dtstack123/test:[鏡像版本號]

在鏡像倉庫能查看到鏡像版本信息則說明push成功

其中[ImageId],[鏡像版本號]請您根據(jù)自己的鏡像信息進行填寫。

Cannot connect to the Docker daemon. Is the docker daemon running on this host?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • Docker — 云時代的程序分發(fā)方式 要說最近一年云計算業(yè)界有什么大事件?Google Compute Engi...
    ahohoho閱讀 15,619評論 15 147
  • 轉(zhuǎn)載自 http://blog.opskumu.com/docker.html 一、Docker 簡介 Docke...
    極客圈閱讀 10,532評論 0 120
  • 0. 前言 docker是什么?docker是用GO語言開發(fā)的應(yīng)用容器引擎,基于容器化,沙箱機制的應(yīng)用部署技術(shù)。可...
    sessionboy閱讀 3,883評論 2 49
  • 人人注定孤獨,不管你如何“開放”,得一知己足矣,彌足珍貴,混跡半生也許都沒有一個讓你心靈交匯的,所以“迷人的微笑”...
    繭破閱讀 246評論 0 3
  • 世間種種,可以說都是一種遇見。 我,你,塵埃,天氣,風(fēng)景,運氣,一場電影,一班地鐵,一片葉子,一條狗,路過的一對情...
    滾滾的小石頭閱讀 639評論 1 2