天天看點

雲原生(1)-docker安裝及基本操作

安裝

安裝是基于centos7環境的

其他環境的安裝也可以看官方文檔

centos安裝文檔

https://docs.docker.com/engine/install/centos/

# 如果安裝過Docker 需要解除安裝,如果沒有可以跳過

yum remove docker \

                  docker-client \

                  docker-client-latest \

                  docker-common \

                  docker-latest \

                  docker-latest-logrotate \

                  docker-logrotate \

                  docker-engine

# 安裝yum-utils工具包

yum install -y yum-utils

# 設定yum存儲庫 即從該位址下載下傳Docker

#yum-config-manager --add-repo

https://download.docker.com/linux/centos/docker-ce.repo

# 上面是官網位址 由于牆,比較慢 換為aliyun

yum-config-manager --add-repo

http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

#安裝

yum install docker-ce docker-ce-cli containerd.io -y

#啟動docker 

systemctl start docker

#開機自啟docker 可選指令--now 立即啟動docker --now 相當于 systemctl start docker

systemctl enable docker --now 

基本操作

配置鏡像加速

配置Docker阿裡雲鏡像加速

sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'

{

  "registry-mirrors": ["https://z3j5f3e3.mirror.aliyuncs.com"]

}

EOF

sudo systemctl daemon-reload

sudo systemctl restart docker

DockerHub

DockerHub是Docker的公共鏡像倉庫,基本上各大軟體的鏡像都在這裡可以找到

https://hub.docker.com/search?type=image

找到鏡像後,有對應鏡像的版本和拉取/啟動指令

以nginx為例

雲原生(1)-docker安裝及基本操作

常用指令

鏡像

# docker幫助指令

docker --help

# docker 搜尋鏡像 相當于在docker hub上搜尋

docker search 

# docker 拉取鏡像 不寫版本号預設latest

docker pull 鏡像名[:版本号]

example:

docker pull nginx = docker pull nginx:latest

# docker 檢視鏡像

docker images

# docker 删除鏡像 不寫版本号預設latest

docker rmi 鏡像名[:版本号]

容器

# docker 啟動容器 -d 背景運作 --name 給容器起個名字(容器的名字不可重複) -p端口映射 --restart=always docker重新開機後繼續啟動該容器 -v 資料挂載

docker run -d --name=[容器名] -p 主機端口:容器端口 -v [主機目錄]:[容器目錄] --restart=always [鏡像id/名字]

# docker 停止容器

docker stop [容器id/名字]

# docker 重新啟動容器

docker start [容器id/名字]

# docker 删除容器

docker rm [容器id/名字]

# docker 更新容器啟動指令 端口無法修改

docker update [容器id] --restart=always

# docker 檢視容器 -a 查詢所有容器 不加-a 預設查詢運作狀态的容器

docker ps 

進入容器

docker exec -it [容器id] /bin/bash

将修改後的容器送出為鏡像

# docker 送出鏡像 -a 作者 -m 送出資訊 要打包鏡像的容器id 自定義的鏡像名字:版本

docker commit -a [作者] -m [送出資訊] [容器id] [自定義的鏡像名字:版本]

 docker commit -a zhangyao -m "首頁變化" 3b009d818c40 mynginx:v1.0

推送鏡像到dockerHub

dockerhub需要先注冊

并在dockerhub上建立倉庫

雲原生(1)-docker安裝及基本操作

輸入倉庫名

雲原生(1)-docker安裝及基本操作

# 此處以推動到dockerHub為例,其他私有鏡像庫大同小異

# 登入dockerHub

docker login

# 輸入使用者名/密碼

# docker 打标簽 打标簽的意義在于将本地的鏡像新打一個标簽使其與你建立立的存儲庫的路徑一緻

docker tag local-image:tagname new-repo:tagname

 docker tag mynginx:v1.0 zy963613606/nginx:v1.0

# docker 推送 

docker push new-repo:tagname

 docker push zy963613606/nginx:v1.0

# docker 登出

docker logout

容器相關操作指令

# 檢視docker 日志

docker logs [容器id]

# docker 容器與主控端複制檔案 兩個參數可以互換位置 第一個參數是from  第二個參數是to

docker cp [容器id]:[檔案路徑] [主控端路徑]