中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁 > news >正文

建設(shè)網(wǎng)站com艾滋病阻斷藥

建設(shè)網(wǎng)站com,艾滋病阻斷藥,電子商務(wù)營銷策略論文,怎么黑掉織夢做的網(wǎng)站文章目錄 前言一、初識Docker1.初識Docker-Docker概述2.初識Docker-安裝Docker3.初識Docker-Docker架構(gòu)4.初識Docker-配置鏡像加速器 二、Docker命令1.Docker命令-服務(wù)相關(guān)命令2.Docker命令-鏡像相關(guān)命令3.Docker命令-容器相關(guān)命令 三、Docker容器的數(shù)據(jù)卷1.Docker容器數(shù)據(jù)卷-數(shù)…

文章目錄

  • 前言
  • 一、初識Docker
    • 1.初識Docker-Docker概述
    • 2.初識Docker-安裝Docker
    • 3.初識Docker-Docker架構(gòu)
    • 4.初識Docker-配置鏡像加速器
  • 二、Docker命令
    • 1.Docker命令-服務(wù)相關(guān)命令
    • 2.Docker命令-鏡像相關(guān)命令
    • 3.Docker命令-容器相關(guān)命令
  • 三、Docker容器的數(shù)據(jù)卷
    • 1.Docker容器數(shù)據(jù)卷-數(shù)據(jù)卷概念及作用
    • 2.Docker容器數(shù)據(jù)卷-配置數(shù)據(jù)卷
    • 3.Docker容器數(shù)據(jù)卷-數(shù)據(jù)卷容器
  • 四、Docker應(yīng)用部署
    • 1.Docker應(yīng)用部署-部署MySQL
    • 2.Docker應(yīng)用部署-部署Tomcat
    • 3.Docker應(yīng)用部署-部署Nginx
    • 4.Docker應(yīng)用部署-部署Redis
  • 五、Dockerfile
    • 1.Dockerfile-鏡像原理
    • 2.Dockerfile-容器轉(zhuǎn)為鏡像
    • 3.Dockerfile-Dockerfile概述及關(guān)鍵字
    • 4.Dockerfile-案例-部署springboot項(xiàng)目
    • 5.Dockerfile-案例-自定義centos
  • 六、Docker服務(wù)編排
    • 1.Docker Compose-概述
    • 2.Docker Compose-安裝使用
    • 3.使用Docker Compose編排nginx+springboot項(xiàng)目
  • 七、Docker私有倉庫
    • 1.Docker私有倉庫-搭建
    • 2.Docker私有倉庫-上傳鏡像
    • 3.Docker私有倉庫-拉取鏡像
  • 八、Docker相關(guān)概念
    • 1.Docker和虛擬機(jī)比較
  • 九、Docker參考手冊

此文檔來源于網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系刪除!

前言

Docker 是一個開源的應(yīng)用容器引擎,讓開發(fā)者可以打包他們的應(yīng)用以及依賴包到一個可移植的鏡像中,然后發(fā)布到任何流行的 Linux 或 Windows 操作系統(tǒng)的機(jī)器上,也可以實(shí)現(xiàn)虛擬化。容器是完全使用沙箱機(jī)制,相互之間不會有任何接口。

一、初識Docker

1.初識Docker-Docker概述

  • Docker是一個開源的應(yīng)用容器引擎
  • 誕生于2013年初,基于Go 語言實(shí)現(xiàn),dotCloud公司出品(后改名為Docker lnc)
  • Docker 可以讓開發(fā)者打包他們的應(yīng)用以及依賴包到一個輕量級、可移植的容器中,然后發(fā)布到任何流行的Linux機(jī)器上。
  • 容器時完全使用沙箱機(jī)制,相互隔離
  • 容器性能開銷極低
  • Docker從17.03版本之后分為CE(Community Edition:社區(qū)版)和 EE(Enterprise Edition:企業(yè)版)

小結(jié):Docker是一種容器技術(shù),解決軟件跨環(huán)境遷移的問題

2.初識Docker-安裝Docker

Docker可以運(yùn)行在MAC、Windows、CentOS、UBUNTU等操作系統(tǒng)上,本文基于CentOS7安裝Docker。

  • 官網(wǎng):https://www.docker.com/

使用官方安裝腳本自動安裝

curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

在這里插入圖片描述
查看Docker版本(驗(yàn)證是否安裝成功)

docker -v

在這里插入圖片描述

3.初識Docker-Docker架構(gòu)

Docker 包括三個基本概念:

  • 鏡像(lmage):Docker鏡像(lmage),就相當(dāng)于是個root文件系統(tǒng)。比如官方鏡像Ubuntu:16.04就包含了完整的一套Ubuntu16.04最小系統(tǒng)的root文件系統(tǒng)。
  • 容器(Container):鏡像(lmage)和容器(Container)的關(guān)系,就像是面向?qū)ο蟪绦蛟O(shè)計中的類和對象一樣,鏡像是靜態(tài)的定義,容器是鏡像運(yùn)行時的實(shí)體。容器可以被創(chuàng)建、啟動、停止、刪除、暫停等。
  • 倉庫(Repository):倉庫可看成一個代碼控制中心,用來保存鏡像。

Docker 使用客戶端-服務(wù)器 (C/S) 架構(gòu)模式,使用遠(yuǎn)程API來管理和創(chuàng)建Docker容器。
Docker 容器通過 Docker 鏡像來創(chuàng)建。

容器與鏡像的關(guān)系類似于面向?qū)ο缶幊讨械膶ο笈c類。
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

4.初識Docker-配置鏡像加速器

默認(rèn)情況下,將來從DockerHub (https://hub.docker.com/)上下載Docker鏡像,太慢。一般都會配置鏡像加速器。

國內(nèi)從 DockerHub 拉取鏡像有時會遇到困難,此時可以配置鏡像加速器。Docker 官方和國內(nèi)很多云服務(wù)商都提供了國內(nèi)加速器服務(wù),例如:

  • 科大鏡像:https://docker.mirrors.ustc.edu.cn/
  • 網(wǎng)易:https://hub-mirror.c.163.com/
  • 七牛云加速器:https://reg-mirror.qiniu.com
  • 阿里云:https://<你的ID>.mirror.aliyuncs.com

我們這邊配置阿里云鏡像加速器

阿里云官網(wǎng):https://www.aliyun.com/

1.訪問阿里云官網(wǎng)→登錄阿里云(沒有阿里云賬號就先注冊在登錄)

2.控制臺→三條橫桿→搜索 “鏡像” →容器鏡像服務(wù)

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

3.鏡像工具→鏡像加速器

在這里插入圖片描述

4.選擇自己安裝的系統(tǒng)版本→復(fù)制命令粘貼執(zhí)行

在這里插入圖片描述

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{"registry-mirrors": ["https://<你的ID>.mirror.aliyuncs.com"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

注意:一次性全部復(fù)制粘貼,最后一行命令會沒有粘貼成功,注意查看,將最后一行命令重新復(fù)制粘貼執(zhí)行即可

在這里插入圖片描述

二、Docker命令

1.Docker命令-服務(wù)相關(guān)命令

  • 啟動Docker服務(wù)

    systemctl start docker
    
  • 停止Docker服務(wù)

    systemctl stop docker
    
  • 重啟Docker服務(wù)

    systemctl restart docker
    
  • 查看Docker服務(wù)狀態(tài)

    systemctl status docker
    
  • 開機(jī)啟動Docker服務(wù)(設(shè)置開機(jī)自啟)

    systemctl enable docker
    

2.Docker命令-鏡像相關(guān)命令

  • 查看鏡像

    docker images	#docker images 列出本地主機(jī)上的鏡像。
    

    在這里插入圖片描述

    各個選項(xiàng)說明:

    選項(xiàng)名稱說明
    REPOSITORY表示鏡像的倉庫源
    TAG鏡像的標(biāo)簽
    IMAGE ID鏡像ID
    CREATED鏡像創(chuàng)建時間
    SIZE鏡像大小

    查看所有鏡像的IMAGE ID

    #查看所有鏡像的IMAGE ID
    docker images -q
    

    在這里插入圖片描述

  • 搜索鏡像

    比如我們需要一個 httpd 的鏡像來作為我們的 web 服務(wù)。我們可以通過 docker search 命令搜索 httpd 來尋找適合我們的鏡像。

    docker search 鏡像名		#從網(wǎng)絡(luò)中查找需要的鏡像
    

    在這里插入圖片描述

    各個選項(xiàng)說明:

    選項(xiàng)名稱說明
    NAME鏡像倉庫源的名稱
    DESCRIPTION鏡像的描述
    STARS類似 Github 里面的 star,表示點(diǎn)贊、喜歡的意思
    OFFICIAL是否 docker 官方發(fā)布
    AUTOMATED自動構(gòu)建
  • 拉取鏡像

當(dāng)我們在本地主機(jī)上使用一個不存在的鏡像時 Docker 就會自動下載這個鏡像。如果我們想預(yù)先下載這個鏡像,我們可以使用 docker pull 命令來下載它。

docker pull 鏡像名:版本號	#不跟:版本號,會自動下載最新的版本latest

例子

docker pull redis

在這里插入圖片描述

docker pull redis:5.0

在這里插入圖片描述

#查看本地主機(jī)上的鏡像。
docker images

在這里插入圖片描述

想知道有哪些鏡像版本可以下載,可以去官網(wǎng)搜索查看:http://hub.docker.com/

在這里插入圖片描述
在這里插入圖片描述

  • 刪除鏡像

方法一(根據(jù)IMAGE ID刪除)

docker rmi IMAGE ID

例子

docker rmi 7614ae9453d1

在這里插入圖片描述

方法二(根據(jù)鏡像名+版本號刪除)

docker rmi redis:5.0	#有的時候IMAGE ID會重復(fù),導(dǎo)致報錯,可以使用這個方法刪除

在這里插入圖片描述

方法三(刪除全部)

#查看所有鏡像的IMAGE ID
docker images -q

在這里插入圖片描述

#刪除所有鏡像(相當(dāng)于把docker images -q命令執(zhí)行	的結(jié)果當(dāng)成參數(shù)去刪除)
docker rmi `docker images -q`

在這里插入圖片描述

3.Docker命令-容器相關(guān)命令

  • 查看容器

語法:

docker ps [OPTIONS]

OPTIONS說明:

參數(shù)作用
-a顯示所有的容器,包括未運(yùn)行的
-f根據(jù)條件過濾顯示的內(nèi)容
–format指定返回值的模板文件
-l顯示最近創(chuàng)建的容器
-n列出最近創(chuàng)建的n個容器
–no-trunc不截斷輸出
-q靜默模式,只顯示容器編號
-s顯示總的文件大小

實(shí)例

#列出所有在運(yùn)行的容器信息
docker ps

在這里插入圖片描述

#列出所有未運(yùn)行、在運(yùn)行的容器信息
docker ps -a

在這里插入圖片描述

輸出詳情介紹:

名稱含義
CONTAINER ID容器 ID
IMAGE使用的鏡像
COMMAND啟動容器時運(yùn)行的命令
CREATED容器的創(chuàng)建時間
STATUS容器狀態(tài) (狀態(tài)有7種:created(已創(chuàng)建)、restarting(重啟中)、running(運(yùn)行中)、removing(遷移中)、paused(暫停)、exited(停止)、dead(死亡))
PORTS容器的端口信息和使用的連接類型(tcp\udp)
NAMES自動分配的容器名稱
  • 創(chuàng)建容器

docker run :創(chuàng)建一個新的容器并運(yùn)行一個命令

語法:

docker run [OPTIONS] IMAGE [COMMAND] [ARG...]

OPTIONS說明:

參數(shù)作用
-a stdin指定標(biāo)準(zhǔn)輸入輸出內(nèi)容類型,可選 STDIN/STDOUT/STDERR 三項(xiàng)
-d后臺運(yùn)行容器,并返回容器ID
-i以交互模式運(yùn)行容器,通常與 -t 同時使用
-P隨機(jī)端口映射,容器內(nèi)部端口隨機(jī)映射到主機(jī)的端口
-p指定端口映射,格式為:主機(jī)(宿主)端口:容器端口
-t為容器重新分配一個偽輸入終端,通常與 -i 同時使用
–name=“nginx-lb”為容器指定一個名稱
–dns 8.8.8.8指定容器使用的DNS服務(wù)器,默認(rèn)和宿主一致
–dns-search example.com指定容器DNS搜索域名,默認(rèn)和宿主一致
-h “mars”指定容器的hostname
-e username=“ritchie”設(shè)置環(huán)境變量
–env-file=[]從指定文件讀入環(huán)境變量
–cpuset=“0-2” or --cpuset=“0,1,2”綁定容器到指定CPU運(yùn)行
-m設(shè)置容器使用內(nèi)存最大值
–net=“bridge”指定容器的網(wǎng)絡(luò)連接類型,支持 bridge/host/none/container: 四種類型
–link=[]添加鏈接到另一個容器
–expose=[]開放一個端口或一組端口
–volume , -v綁定一個卷

實(shí)例

在這里插入圖片描述

docker run -it --name=mycentos centos:7 /bin/bash

在這里插入圖片描述

docker run -id --name=mycentos1 centos:7 /bin/bash

在這里插入圖片描述

說明:

①使用-it這兩個參數(shù)后,容器創(chuàng)建后自動進(jìn)入容器中,退出容器后,容器自動關(guān)閉
②使用-d參數(shù)后,需要使用docke rexec進(jìn)入容器。退出后,容器不會關(guān)閉。
-it創(chuàng)建的容器一般稱為交互式容器,-id創(chuàng)建的容器一般稱為守護(hù)式容器

  • 進(jìn)入容器

在使用 -d 參數(shù)時,容器啟動后會進(jìn)入后臺。此時想要進(jìn)入容器,可以通過以下指令進(jìn)入:

docker attach:連接到正在運(yùn)行中的容器。
語法:

docker attach [OPTIONS] CONTAINER

實(shí)例

在這里插入圖片描述

注意: 如果從這個容器退出,會導(dǎo)致容器的停止。

docker exec:在運(yùn)行的容器中執(zhí)行命令。推薦大家使用 docker exec 命令,因?yàn)榇嗣顣顺鋈萜鹘K端,但不會導(dǎo)致容器的停止。
語法:

docker exec [OPTIONS] CONTAINER COMMAND [ARG...]

OPTIONS說明:

參數(shù)作用
-d分離模式: 在后臺運(yùn)行
-i即使沒有附加也保持STDIN 打開
-t分配一個偽終端

實(shí)例
在這里插入圖片描述

docker exec -it mycentos1 /bin/bash

在這里插入圖片描述

注意: 如果從這個容器退出,容器不會停止,這就是為什么推薦大家使用 docker exec 的原因。

  • 啟動容器
#使用 docker start 啟動一個已停止的容器
docker start 容器名|容器 ID	

在這里插入圖片描述

  • 停止容器
#使用 docker stop 停止一個正在運(yùn)行的容器
docker stop 容器名|容器 ID

在這里插入圖片描述

  • 重啟容器
docker restart 容器名|容器 ID

在這里插入圖片描述

  • 刪除容器
docker rm 容器名|容器 ID

在這里插入圖片描述

  • 查看容器信息

docker inspect : 獲取容器/鏡像的元數(shù)據(jù)。

語法:

docker inspect [OPTIONS] NAME|ID [NAME|ID...]

OPTIONS說明:

參數(shù)作用
-f指定返回值的模板文件
-s顯示總的文件大小
–type為指定類型返回JSON

在這里插入圖片描述

三、Docker容器的數(shù)據(jù)卷

1.Docker容器數(shù)據(jù)卷-數(shù)據(jù)卷概念及作用

思考:

  • Docker容器刪除后,在容器中產(chǎn)生的數(shù)據(jù)也會隨之銷毀
  • Docker 容器和外部機(jī)器可以直接交換文件嗎?
  • 容器之間想要進(jìn)行數(shù)據(jù)交互?

數(shù)據(jù)卷

  • 數(shù)據(jù)卷是宿主機(jī)中的一個目錄或文件
  • 當(dāng)容器目錄和數(shù)據(jù)卷目錄綁定后,對方的修改會立即同步
  • 一個數(shù)據(jù)卷可以被多個容器同時掛載
  • 一個容器可以被掛載多個數(shù)據(jù)卷

數(shù)據(jù)卷概念

  • 宿主機(jī)的一個目錄或文件

數(shù)據(jù)卷作用

  • 容器數(shù)據(jù)持久化
  • 外部機(jī)器和容器間接通信
  • 容器之間數(shù)據(jù)交換

2.Docker容器數(shù)據(jù)卷-配置數(shù)據(jù)卷

  • 創(chuàng)建啟動容器時,使用 -v 參數(shù)設(shè)置數(shù)據(jù)卷
docker run ... -v 宿主機(jī)目錄(文件):容器內(nèi)目錄(文件) ...
  • 注意事項(xiàng):
    • 1.目錄必須是絕對路徑
    • 2.如果目錄不存在,會自動創(chuàng)建
    • 3.可以掛載多個數(shù)據(jù)卷

實(shí)例:創(chuàng)建容器配置數(shù)據(jù)卷(外部機(jī)器和容器間接通信

docker run -it --name=centos1 -v /root/data:/root/data_container centos:7 /bin/bash

在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述
在這里插入圖片描述

當(dāng)容器目錄和數(shù)據(jù)卷目錄綁定后,對方的修改會立即同步

實(shí)例:刪除容器后重新掛載容器(容器數(shù)據(jù)持久化

在這里插入圖片描述
在這里插入圖片描述

實(shí)例:一個容器掛載多個目錄

在這里插入圖片描述

實(shí)例:兩個容器掛載到同一個目錄(實(shí)現(xiàn)容器之間數(shù)據(jù)交換

1.創(chuàng)建一個容器掛載到 /root/data 目錄下

在這里插入圖片描述
2. 查看容器 /root/data 目錄下的內(nèi)容
在這里插入圖片描述

3. 打開一個新的會話窗口,再創(chuàng)建一個容器掛載到 /root/data 目錄下,添加內(nèi)容到test.txt文件中

在這里插入圖片描述

4. 回到第一個會話窗口會,查看test.txt文件會發(fā)現(xiàn)當(dāng)前容器目錄下也添加了內(nèi)容

在這里插入圖片描述

3.Docker容器數(shù)據(jù)卷-數(shù)據(jù)卷容器

多個容器進(jìn)行數(shù)據(jù)交換

  1. 多個容器掛載同一個數(shù)據(jù)卷
  2. 數(shù)據(jù)卷容器

數(shù)據(jù)卷容器

  • 創(chuàng)建一個容器,掛載一個目錄,讓其他容器繼承自該容器(–volumes-from)
  • 通過簡單方式實(shí)現(xiàn)數(shù)據(jù)卷配置

在這里插入圖片描述

配置數(shù)據(jù)卷容器

  1. 創(chuàng)建啟動 centos3 數(shù)據(jù)卷容器,使用 -v 參數(shù)設(shè)置數(shù)據(jù)卷

    docker run -it --name=centos3 -v /volume centos:7 bin/bash
    

    在這里插入圖片描述
    在這里插入圖片描述

  2. 創(chuàng)建啟動 centos1 centos2 容器,使用 --volumes-from 參數(shù)設(shè)置數(shù)據(jù)卷(使用新的會話窗口)

    docker run -it --name=centos1 --volumes-from centos3 centos:7 bin/bash
    docker run -it --name=centos2 --volumes-from centos3 centos:7 bin/bash
    

    在這里插入圖片描述
    在這里插入圖片描述

  3. 測試(在 centos1 centos2 任意一個容器的volume目錄下創(chuàng)建文件,centos1 centos2 centos3的volume目錄下都會生成對應(yīng)的文件)

四、Docker應(yīng)用部署

1.Docker應(yīng)用部署-部署MySQL

  • 案例需求:在Docker容器中部署MySQL,并通過外部MySQL客戶端操作MySQL服務(wù)

  • 案例實(shí)現(xiàn)步驟:

    ①搜索MySQL鏡像

    ②拉取MySQL鏡像

    ③創(chuàng)建容器

    ④操作容器中的MySQL

MySQL部署

在這里插入圖片描述

  • 容器內(nèi)的網(wǎng)絡(luò)服務(wù)和外部機(jī)器不能直接通信
  • 外部機(jī)器和宿主機(jī)可以直接通信
  • 宿主機(jī)和容器可以直接通信
  • 當(dāng)容器中的網(wǎng)絡(luò)服務(wù)需要被外部機(jī)器訪問時,可以將容器中提供服務(wù)的端口映射到宿主機(jī)的端口上。外部機(jī)器訪問宿主機(jī)的該端口,從而間接訪問容器的服務(wù)。
  • 這種操作稱為:端口映射

一、搜索MySQL鏡像

docker search mysql

在這里插入圖片描述

二、拉取MySQL鏡像

docker pull mysql:latest

在這里插入圖片描述

三、查看本地鏡像

docker images

在這里插入圖片描述

四、在 /root 目錄下創(chuàng)建mysql目錄用于存儲mysql數(shù)據(jù)信息,進(jìn)入到mysql目錄中

#創(chuàng)建mysql目錄
mkdir mysql
#進(jìn)入到mysql目錄
cd mysql

在這里插入圖片描述

五、創(chuàng)建容器,設(shè)置端口映射、目錄映射

docker run -id \
-p 3306:3306 \
--name=mysql-test \
-v $PWD/conf:/etc/mysql/conf.d \
-v $PWD/logs:/logs \
-v $PWD/data:/var/lib/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
mysql:latest

在這里插入圖片描述

  • 參數(shù)說明
    • -p 3306:3306:映射容器服務(wù)的 3306 端口到宿主機(jī)的 3306 端口,外部主機(jī)可以直接通過 宿主機(jī) ip:3306 訪問到 MySQL 的服務(wù)。冒號前面代表的是宿主機(jī)端口號。
    • -v $PWD/conf:/etc/mysql/conf.d:將主機(jī)當(dāng)前目錄下的 conf/my.cnf 掛載到容器的 /etc/mysql/my.cnf。配置目錄
    • -v $PWD/logs:/logs:將主機(jī)當(dāng)前目錄下的 logs 目錄掛載到容器的 /logs。日志目錄
    • -v $PWD/data:/var/lib/mysql: 將主機(jī)當(dāng)前目錄下的data目錄掛載到容器的 /var/lib/mysql。數(shù)據(jù)目錄
    • MYSQL_ROOT_PASSWORD=123456:設(shè)置 MySQL 服務(wù) root 用戶的密碼。

六、進(jìn)入到MySQL容器中

docker exec -it mysql-test /bin/bash

在這里插入圖片描述

七、登錄MySQL

mysql -uroot -p123456

在這里插入圖片描述

外部訪問Doker中的MySQL容器

1.使用Windows的cmd窗口遠(yuǎn)程連接

在這里插入圖片描述

2.使用DataGrip 連接

在這里插入圖片描述

3.使用navicat連接(由于navicat版本問題連接報錯

在這里插入圖片描述

在這里插入圖片描述

遠(yuǎn)程連接Docker中的MySQL容器注意事項(xiàng)

  1. 確保MySQL開放了遠(yuǎn)程連接的權(quán)限

    執(zhí)行查詢語句,查看數(shù)據(jù)庫當(dāng)前的訪問權(quán)限的信息

    select  User,authentication_string,Host from user;
    

    在這里插入圖片描述

  2. 確保Docker宿主機(jī)防火墻開放了MySQL的端口號或者直接關(guān)閉防火墻

2.Docker應(yīng)用部署-部署Tomcat

  • 案例需求:在Docker容器中部署Tomcat,并通過外部機(jī)器訪問Tomcat部署的項(xiàng)目。

  • 案例實(shí)現(xiàn)步驟:

    ①搜索Tomcat鏡像

    ②拉取Tomcat鏡像

    ③創(chuàng)建容器

    ④部署項(xiàng)目

    ⑤測試訪問

Tomcat部署

一、搜索Tomcat鏡像

docker search tomcat

在這里插入圖片描述

二、拉取Tomcat鏡像

docker pull tomcat

在這里插入圖片描述

三、查看本地鏡像

docker images

在這里插入圖片描述

四、在 /root 目錄下創(chuàng)建tomcat目錄用于存儲tomcat數(shù)據(jù)信息,進(jìn)入到tomcat目錄中

#創(chuàng)建tomcat目錄
mkdir tomcat
#進(jìn)入到tomcat目錄
cd tomcat

在這里插入圖片描述

五、創(chuàng)建容器,設(shè)置端口映射、目錄映射

docker run -id \
-p 8080:8080 \
--name=tomcat-test \
-v $PWD:/usr/local/tomcat/webapps \
tomcat:latest

在這里插入圖片描述

  • 參數(shù)說明
    • -p 8080:8080:將容器的8080端口映射到主機(jī)的8080端口
    • -v $PWD:/usr/local/tomcat/webapps:將主機(jī)當(dāng)前目錄掛載到容器的webapps

六、部署項(xiàng)目

#創(chuàng)建test文件夾
mkdir test
#進(jìn)入到test目錄
cd test
#創(chuàng)建并編輯index.html文件
vim index.html
#index.html文件內(nèi)容
<h1> hellow tomcat docker </h1>

在這里插入圖片描述
在這里插入圖片描述

七、測試訪問

#打開瀏覽器,地址欄輸入ip地址:端口號/項(xiàng)目路徑
192.168.3.240:8080/test/index.html

在這里插入圖片描述

3.Docker應(yīng)用部署-部署Nginx

  • 案例需求:在Docker容器中部署Nginx,并通過外部機(jī)器訪問Nginx。

  • 案例實(shí)現(xiàn)步驟:

    ①搜索Tomcat鏡像

    ②拉取Tomcat鏡像

    ③創(chuàng)建容器

    ④測試訪問

Nginx部署

一、搜索Nginx鏡像

docker search nginx

在這里插入圖片描述
二、拉取Nginx鏡像

docker pull nginx

在這里插入圖片描述
三、查看本地鏡像

docker images

在這里插入圖片描述

四、在 /root 目錄下創(chuàng)建nginx目錄用于存儲nginx數(shù)據(jù)信息,進(jìn)入到nginx目錄中

#創(chuàng)建nginx目錄
mkdir nginx
#進(jìn)入到nginx目錄
cd nginx

在這里插入圖片描述

五、在 /root/nginx/目錄下創(chuàng)建conf文件夾,進(jìn)入conf目錄創(chuàng)建并編輯nginx.conf文件,粘貼下面內(nèi)容

#創(chuàng)建conf目錄
mkdir conf
#進(jìn)入到conf目錄
cd conf
#創(chuàng)建并編輯nginx.conf文件
vim nginx.conf

在這里插入圖片描述

nginx.conf文件內(nèi)容

user  nginx;
worker_processes  1;error_log  /var/log/nginx/error.log  warn;
pid        /var/run/nginx.pid;events {worker_connections  1024;
}http {include       /etc/nginx/mime.types;default_type  application/octet-stream;log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ''$status $body_bytes_sent "$http_referer" ''"$http_user_agent" "$http_x_forwarded_for"';access_log  /var/log/nginx/access.log  main;sendfile        on;#tcp_nopush     on;keepalive_timeout  65;#gzip  on;include /etc/nginx/conf.d/*.conf;
}

六、創(chuàng)建容器,設(shè)置端口映射、目錄映射

docker run -id \
-p 80:80 \
--name=nginx-test \
-v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf \
-v $PWD/logs:/var/log/nginx \
-v $PWD/html:/usr/share/nginx/html \
nginx:latest

在這里插入圖片描述
在這里插入圖片描述

  • 參數(shù)說明
    • -p 80:80:將容器的80端口映射到主機(jī)的80端口
    • -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:將主機(jī)當(dāng)前目錄下的/conf/nginx.conf掛載到容器的/etc/nginx/nginx.conf。配置目錄
    • -v $PWD/logs:/var/log/nginx:將主機(jī)當(dāng)前目錄下的logs目錄掛載到容器的/var/log/nginx。日志目錄

七、測試訪問

#進(jìn)入到html目錄
cd html
#創(chuàng)建并編輯index.html文件
vim index.html
#index.html文件內(nèi)容
<h1> hellow nginx docker </h1>

在這里插入圖片描述
在這里插入圖片描述

瀏覽器訪問IP地址進(jìn)行測試

在這里插入圖片描述

4.Docker應(yīng)用部署-部署Redis

  • 案例需求:在Docker容器中部署Redis,并通過外部機(jī)器訪問Redis。

  • 案例實(shí)現(xiàn)步驟:

    ①搜索Redis鏡像

    ②拉取Redis鏡像

    ③創(chuàng)建容器

    ④測試訪問

Redis部署

一、搜索Nginx鏡像

docker search redis

在這里插入圖片描述

二、拉取Nginx鏡像

docker pull redis

在這里插入圖片描述

三、查看本地鏡像

docker images

在這里插入圖片描述

三、創(chuàng)建容器,設(shè)置端口映射

docker run -id --name=redis-test -p 6379:6479 redis:latest

在這里插入圖片描述

四、連接redis

通過 redis-cli 連接測試使用 redis 服務(wù)。

#進(jìn)入redis-test容器
docker exec -it redis-test /bin/bash
#連接redis
redis-cli

在這里插入圖片描述

五、Dockerfile

1.Dockerfile-鏡像原理

操作系統(tǒng)組成部分:

  • 進(jìn)程調(diào)度子系統(tǒng)
  • 進(jìn)程通信子系統(tǒng)
  • 內(nèi)存管理子系統(tǒng)
  • 設(shè)備管理子系統(tǒng)
  • 文件管理子系統(tǒng)
  • 網(wǎng)絡(luò)通信子系統(tǒng)
  • 作業(yè)控制子系統(tǒng)

Linux文件系統(tǒng)由bootfs和rootfs兩部分組成

  • bootfs:包含bootloader(引導(dǎo)加載程序)和kernel(內(nèi)核)
  • rootfs:root文件系統(tǒng),包含的就是典型Linux系統(tǒng)中的/dev,/proc,/bin,/etc等標(biāo)準(zhǔn)目錄和文件
  • 不同的linux發(fā)行版,bootfs基本一樣,而rootfs不同,如ubuntu,centos等

Docker鏡像原理

  • Docker鏡像是由特殊的文件系統(tǒng)疊加而成
  • 最底端是 bootfs,并使用宿主機(jī)的bootfs
  • 第二層是 root文件系統(tǒng)rootfs,稱為base image
  • 然后再往上可以疊加其他的鏡像文件
  • 統(tǒng)一文件系統(tǒng)(Union File System)技術(shù)能夠?qū)⒉煌膶诱铣梢粋€文件系統(tǒng),為這些層提供了一個統(tǒng)一的視角,這樣就隱藏了多層的存在,在用戶的角度看來,只存在一個文件系統(tǒng)。
  • 一個鏡像可以放在另一個鏡像的上面。位于下面的鏡像稱為父鏡像,最底部的鏡像成為基礎(chǔ)鏡像
  • 當(dāng)從一個鏡像啟動容器時,Docker會在最頂層加載一個讀寫文件系統(tǒng)作為容器

  • Docker鏡像的本質(zhì)是什么?

    是一個分層文件系統(tǒng)

  • Docker中的一個centos鏡像為什么只有200M,而一個centos操作系統(tǒng)的iso文件要幾個G?

    Centos的iso鏡像文件包含bootfs和rootfs,而Docker的centos鏡像復(fù)用操作系統(tǒng)的bootfs,只有rootfs和其他鏡像層

  • Docker中一個tomcat鏡像為什么又600MB,而一個tomcat安裝包只有70多MB?

    由于docker中鏡像是分層的,tomcat雖然只有70多MB,但他需要依賴于父鏡像和基礎(chǔ)鏡像,所有整個對外暴露的tomcat鏡像大小600多MB

2.Dockerfile-容器轉(zhuǎn)為鏡像

  • Docker鏡像如何制作?

    一.容器轉(zhuǎn)為鏡像

    將容器轉(zhuǎn)為鏡像

    docker commit 容器id 新的鏡像名稱:版本號
    

    將鏡像轉(zhuǎn)為壓縮文件(容器沒辦法傳給其他人,只有將容器轉(zhuǎn)為壓縮文件才能進(jìn)行傳輸)

    docker save -o 壓縮文件名稱 鏡像名稱:版本號
    

    將壓縮文件轉(zhuǎn)為鏡像

    docker load -i 壓縮文件名稱
    

    在這里插入圖片描述

    例子

    1.查看容器

    docker ps -a
    

    在這里插入圖片描述

    2.將容器轉(zhuǎn)為鏡像

    docker commit 容器id 新的鏡像名稱:版本號
    
    docker commit 2b9e6a802d93 tomcat-1:1.0
    

    在這里插入圖片描述

    3.將鏡像轉(zhuǎn)為壓縮文件

    docker save -o 壓縮文件名稱 鏡像名稱:版本號
    
    docker save -o tomcat.tar tomcat-1:1.0
    

    在這里插入圖片描述

    4.刪除鏡像

    docker rmi 8a3fa5474e0f
    

    在這里插入圖片描述

    5.將壓縮文件轉(zhuǎn)為鏡像

    docker load -i 壓縮文件名稱
    
    docker load -i tomcat.tar
    

    在這里插入圖片描述

    二.dockerfile

3.Dockerfile-Dockerfile概述及關(guān)鍵字

  • 什么是 Dockerfile?

    Dockerfile 是一個用來構(gòu)建鏡像的文本文件,文本內(nèi)容包含了一條條構(gòu)建鏡像所需的指令和說明。

Dockerfile概念

  • Dockerfile是一個文本文件
  • 包含了一條條的指令
  • 每一條指令構(gòu)建一層,基于基礎(chǔ)鏡像,最終構(gòu)建出一個新的鏡像
  • 對開發(fā)人員:可以為開發(fā)團(tuán)隊(duì)提供一個完全一致的開發(fā)環(huán)境
  • 對于測試人員:可以直接拿開發(fā)時所構(gòu)建的鏡像或者通過Dockerfile文件構(gòu)建一個新的鏡像開始工作了
Dockerfile 指令說明
FROM指定基礎(chǔ)鏡像,用于后續(xù)的指令構(gòu)建。
MAINTAINER指定Dockerfile的作者/維護(hù)者。(已棄用,推薦使用LABEL指令)
LABEL添加鏡像的元數(shù)據(jù),使用鍵值對的形式。
RUN在構(gòu)建過程中在鏡像中執(zhí)行命令。
CMD指定容器創(chuàng)建時的默認(rèn)命令。(可以被覆蓋)
ENTRYPOINT設(shè)置容器創(chuàng)建時的主要命令。(不可被覆蓋)
EXPOSE聲明容器運(yùn)行時監(jiān)聽的特定網(wǎng)絡(luò)端口。
ENV在容器內(nèi)部設(shè)置環(huán)境變量。
ADD將文件、目錄或遠(yuǎn)程URL復(fù)制到鏡像中。
COPY將文件或目錄復(fù)制到鏡像中。
VOLUME為容器創(chuàng)建掛載點(diǎn)或聲明卷。
WORKDIR設(shè)置后續(xù)指令的工作目錄。
USER指定后續(xù)指令的用戶上下文。
ARG定義在構(gòu)建過程中傳遞給構(gòu)建器的變量,可使用 “docker build” 命令設(shè)置。
ONBUILD當(dāng)該鏡像被用作另一個構(gòu)建過程的基礎(chǔ)時,添加觸發(fā)器。
STOPSIGNAL設(shè)置發(fā)送給容器以退出的系統(tǒng)調(diào)用信號。
HEALTHCHECK定義周期性檢查容器健康狀態(tài)的命令。
SHELL覆蓋Docker中默認(rèn)的shell,用于RUN、CMD和ENTRYPOINT指令。

4.Dockerfile-案例-部署springboot項(xiàng)目

案例需求:

定義dockerfile,發(fā)布springboot項(xiàng)目

實(shí)現(xiàn)步驟

1.創(chuàng)建一個springboot項(xiàng)目

在這里插入圖片描述

2.項(xiàng)目打包

注意事項(xiàng):項(xiàng)目打包JDK版本要跟后面創(chuàng)建容器所依賴的父鏡像JDK版本一致,否者可能導(dǎo)致創(chuàng)建的容器無法運(yùn)行

在這里插入圖片描述

在這里插入圖片描述

3.jar包測試運(yùn)行

在這里插入圖片描述
在這里插入圖片描述

4.下載一個java鏡像,用來運(yùn)行jar包(根據(jù)自己的springboot打包所依賴的JDK版本一致)

注意事項(xiàng):這里的java版本要與打包springboot的JDK版本一致,否者可能導(dǎo)致創(chuàng)建的容器無法運(yùn)行

docker pull java:8

在這里插入圖片描述

5.創(chuàng)建一個名為 docker-files 的文件夾

mkdir docker-files

在這里插入圖片描述

6.進(jìn)入到 docker-files 目錄下,上傳打包好的jar包

在這里插入圖片描述

7.創(chuàng)建并編輯 springboot-dockerfile文件

vim springroot-dockerfile

在這里插入圖片描述

文件內(nèi)容

FROM java:8
MAINTAINER xiongjian
ADD springboot-hello-0.0.1-SNAPSHOT.jar springboot-hello.jar
CMD java -jar springboot-hello.jar
  • 說明
    • 定義父鏡像:FROM java:8
    • 定義作者信息:MAINTAINER xiongjian
    • 將jar包添加到容器:ADD springboot-hello-0.0.1-SNAPSHOT.jar springboot-hello.jar
    • 定義容器啟動執(zhí)行的命令:CMD java -jar springboot-hello.jar

在這里插入圖片描述
在這里插入圖片描述

8.通過 dockerfile 構(gòu)建鏡像

docker build -f 文件名 -t 鏡像名稱:鏡像標(biāo)簽 .

最后的.代表本次執(zhí)行的上下文路徑(上下文路徑,是指 docker 在構(gòu)建鏡像,有時候想要使用到本機(jī)的文件(比如復(fù)制),docker build 命令得知這個路徑后,會將路徑下的所有內(nèi)容打包。)

解析:由于 docker 的運(yùn)行模式是 C/S。我們本機(jī)是 C,docker 引擎是 S。實(shí)際的構(gòu)建過程是在 docker 引擎下完成的,所以這個時候無法用到我們本機(jī)的文件。這就需要把我們本機(jī)的指定目錄下的文件一起打包提供給 docker 引擎使用。

如果未說明最后一個參數(shù),那么默認(rèn)上下文路徑就是 Dockerfile 所在的位置。

注意:上下文路徑下不要放無用的文件,因?yàn)闀黄鸫虬l(fā)送給 docker 引擎,如果文件過多會造成過程緩慢。

docker build -f springroot-dockerfile -t springboot-hello .

在這里插入圖片描述

8.創(chuàng)建運(yùn)行容器

docker run -id --name springboot-hello -p 9000:8080 springboot-hello:latest

在這里插入圖片描述

9.外部測試

docker宿主機(jī)IP地址:端口號/訪問的項(xiàng)目

在這里插入圖片描述

5.Dockerfile-案例-自定義centos

案例需求:

自定義centos7鏡像。要求:
1.默認(rèn)登錄路徑為/usr
2.可以使用vim

實(shí)現(xiàn)步驟

1.在 ~ 目錄下創(chuàng)建一個名為 docker-files 文件夾

mkdir docker-files

在這里插入圖片描述

2.進(jìn)入 docker-files 目錄,創(chuàng)建即編輯 contos-dockerfile 文件

vim centos-dockerfile

在這里插入圖片描述

文件內(nèi)容

FROM centos:7
MAINTAINER xiongjian
RUN yum -y install vim
WORKDIR /usr
CMD /bin/bash

在這里插入圖片描述

  • 說明
    • 定義父鏡像:FROM java:8
    • 定義作者信息:MAINTAINER xiongjian
    • 執(zhí)行安裝vim命令:RUN yum -y install vim
    • 定義默認(rèn)的工作目錄:WORKDIR /usr
    • 定義容器啟動執(zhí)行的命令:CMD /bin/bash

3.構(gòu)建鏡像

docker build -f 文件名 -t 鏡像名稱:鏡像標(biāo)簽 .
docker build -f centos-dockerfile -t centos-test:1 .

在這里插入圖片描述

4.創(chuàng)建運(yùn)行容器(如圖所示默認(rèn)登錄路徑為/usr)

docker run -it --name=centos-test centos-test:1

在這里插入圖片描述

六、Docker服務(wù)編排

服務(wù)編排:按照一定的業(yè)務(wù)規(guī)則批量管理容器

微服務(wù)架構(gòu)的應(yīng)用系統(tǒng)中一般包含若干個微服務(wù),每個微服務(wù)一般都會部署多個實(shí)例,如果每個微服務(wù)都要手動啟停維護(hù)的工作量會很大。

  • 要從Dockerfile build image 或者去dockerhub拉取 image
  • 要創(chuàng)建多個container
  • 要管理這些container(啟動停止刪除)

1.Docker Compose-概述

Docker Compose簡介

DockerCompose是一個編排多容器分布式部署的工具,提供命今集管理容器化應(yīng)用的完整開發(fā)周期,包括服務(wù)構(gòu)建啟動和停止。

Compose 是用于定義和運(yùn)行多容器 Docker 應(yīng)用程序的工具。通過 Compose,您可以使用 YML 文件來配置應(yīng)用程序需要的所有服務(wù)。然后,使用一個命令,就可以從 YML 文件配置中創(chuàng)建并啟動所有服務(wù)。

Compose 使用的三個步驟:

  • 使用 Dockerfile 定義應(yīng)用程序的環(huán)境。
  • 使用 docker-compose.yml 定義構(gòu)成應(yīng)用程序的服務(wù),這樣它們可以在隔離環(huán)境中一起運(yùn)行。
  • 最后,執(zhí)行 docker-compose up 命令來啟動并運(yùn)行整個應(yīng)用程序。

2.Docker Compose-安裝使用

Docker Compose 安裝

1.安裝Compose

Linux 上我們可以從 Github 上下載它的二進(jìn)制包來使用,最新發(fā)行的版本地址:https://github.com/docker/compose/releases

運(yùn)行以下命令以下載 Docker Compose 的當(dāng)前穩(wěn)定版本:

curl -L https://github.com/docker/compose/releases/download/1.8.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose

要安裝其他版本的 Compose,請?zhí)鎿Q 1.8.1。

在這里插入圖片描述

2.設(shè)置文件可執(zhí)行權(quán)限

chmod +x /usr/local/bin/docker-compose

在這里插入圖片描述

3.測試是否安裝成功

docker-compose version

在這里插入圖片描述

Docker Compose卸載

二進(jìn)制包方式安裝的,刪除二進(jìn)制文件即可

rm /usr/local/bin/docker-compose

3.使用Docker Compose編排nginx+springboot項(xiàng)目

  1. 準(zhǔn)備nginx鏡像和springboot項(xiàng)目鏡像(springboot項(xiàng)目鏡像可以查看上面的部署springboot案例)

    在這里插入圖片描述

  2. ~ 目錄下創(chuàng)建一個名為 docker-compose 的文件夾并進(jìn)入到 docker-compose 目錄下

    mkdir docker-compose
    cd docker-compose/
    

    在這里插入圖片描述

  3. 創(chuàng)建并編輯名為 docker-compose.yml 文件

    vim docker-compose.yml
    

    在這里插入圖片描述

    docker-compose.yml文件內(nèi)容

    version: '2'
    services:nginx:image: nginxports:- 80:80links:- springboot-hellovolumes:- ./nginx/conf.d:/etc/nginx/conf.dspringboot-hello:image: springboot-helloexpose:- "8080"
    

    注意事項(xiàng):version: ‘2’ 這里的版本要根據(jù) docker-compose 版本所對應(yīng),否者后面使用 docker-compose 啟動容器會報錯

  4. 創(chuàng)建 ./nginx/conf.d 目錄 ,進(jìn)入到 ./nginx/conf.d 目錄下

    mkdir -p ./nginx/conf.d
    cd nginx/conf.d/
    

    在這里插入圖片描述

  5. 創(chuàng)建nginx配置文件并添加內(nèi)容

    vim nginx.conf
    

    在這里插入圖片描述

    nginx.conf 文件內(nèi)容

    server {listen 80;access_log off;location / {proxy_pass http://springboot-hello:8080;}}
    
  6. 切換到 ~/docker-compose/ 目錄下,使用 docker-compose 啟動容器

    cd ~/docker-compose/
    docker-compose up
    

    在這里插入圖片描述
    在這里插入圖片描述

  7. 重新打開一個新的會話查看容器會發(fā)現(xiàn)啟動了兩個容器

    docker ps -a
    

    在這里插入圖片描述

  8. 測試訪問

    在這里插入圖片描述

七、Docker私有倉庫

Docker官方的 Docker hub(https://hub.docker.com)是一個用于管理公共鏡像的倉庫,我們可以從上面拉取鏡像到本地,也可以把我們自己的鏡像推送上去。但是,有時候我們的服務(wù)器無法訪問互聯(lián)網(wǎng),或者你不希望將自己的鏡像放到公網(wǎng)當(dāng)中,那么我們就需要搭建自己的私有倉庫來存儲和管理自己的鏡像。

1.Docker私有倉庫-搭建

  1. 拉取私有倉庫鏡像

    docker pull registry
    

    在這里插入圖片描述

  2. 啟動私有倉庫容器

    docker run -id --name=registry -p 5000:5000 registry
    

    在這里插入圖片描述

  3. 訪問私有倉庫

    打開瀏覽器,輸入地址 http://私有倉庫服務(wù)器ip:5000/v2/_catalog,看到 {“repositories”:[]} 表示私有倉庫搭建成功

    在這里插入圖片描述

  4. 修改daemon.json配置文件

    vim /etc/docker/daemon.json
    

    在上述文件中添加一個key,保存退出。此步用于讓docker信任私有倉庫地址;注意將私有倉庫服務(wù)器ip修改為自己私有倉庫服務(wù)器真實(shí)ip

    添加的內(nèi)容

    "insecure-registries": ["私有倉庫服務(wù)器ip:5000"]
    

    在這里插入圖片描述

  5. 重啟 docker 服務(wù)

    systemctl restart docker
    

    在這里插入圖片描述

  6. 私有倉庫容器

    重啟docker服務(wù)導(dǎo)致私有倉庫容器停止所以需要啟動下私有倉庫容器

    docker start registry
    

    在這里插入圖片描述

2.Docker私有倉庫-上傳鏡像

  1. 標(biāo)記鏡像為私有倉庫的鏡像

    docker tag centos:7 私有倉庫服務(wù)器IP:5000/centos:7
    

    在這里插入圖片描述

  2. 上傳標(biāo)記的鏡像

    docker push 私有倉庫服務(wù)器IP:5000/centos:7
    

    在這里插入圖片描述

  3. 訪問測試私有倉庫

    在這里插入圖片描述

3.Docker私有倉庫-拉取鏡像

  1. 刪除鏡像

    docker rmi 192.168.3.240:5000/centos:7
    

    在這里插入圖片描述

  2. 拉取鏡像

    docker pull 192.168.3.240:5000/centos:7
    

    在這里插入圖片描述

八、Docker相關(guān)概念

1.Docker和虛擬機(jī)比較

Docker容器虛擬化 與 傳統(tǒng)虛擬機(jī)比較

容器就是將軟件打包成標(biāo)準(zhǔn)化單元,以用于開發(fā)、交付和部署。

  • 容器鏡像是輕量的、可執(zhí)行的獨(dú)立軟件包,包含軟件運(yùn)行所需的所有內(nèi)容:代碼、運(yùn)行時環(huán)境、系統(tǒng)工具、系統(tǒng)庫和設(shè)置。
  • 容器化軟件在任何環(huán)境中都能夠始終如一地運(yùn)行。
  • 容器賦予了軟件獨(dú)立性,使其免受外在環(huán)境差異的影響,從而有助于減少團(tuán)隊(duì)間在相同基礎(chǔ)設(shè)施上運(yùn)行不同軟件時的沖突。

在這里插入圖片描述

相同

容器和虛擬機(jī)具有相似的資源隔離和分配優(yōu)勢

不同

  • 容器虛擬化的是操作系統(tǒng),虛擬機(jī)虛擬化的是硬件。
  • 傳統(tǒng)虛擬機(jī)可以運(yùn)行不同的操作系統(tǒng),容器只能運(yùn)行同一類型操作系統(tǒng)
特性容器虛擬機(jī)
啟動秒級分鐘級
硬盤使用一般為MB一般為GB
性能接近原生弱于
系統(tǒng)支持量單機(jī)支持上千個容器一般幾十個

在這里插入圖片描述

九、Docker參考手冊

Docker 資源匯總:https://www.runoob.com/docker/docker-resources.html

Docker命令大全:https://www.runoob.com/docker/docker-command-manual.html

在這里插入圖片描述

此文檔來源于網(wǎng)絡(luò),如有侵權(quán),請聯(lián)系刪除!

http://www.risenshineclean.com/news/1207.html

相關(guān)文章:

  • 網(wǎng)站robots.txt檢測網(wǎng)站關(guān)鍵詞在線優(yōu)化
  • 用html5做的個人網(wǎng)站網(wǎng)絡(luò)營銷試卷及答案
  • python合適做網(wǎng)站嗎海外網(wǎng)絡(luò)推廣方案
  • 做網(wǎng)站圖片百度競價排名系統(tǒng)
  • 網(wǎng)站 默認(rèn)首頁濟(jì)南seo的排名優(yōu)化
  • 商城開發(fā)價格服務(wù)排名優(yōu)化百度
  • 和先鋒影音和做的網(wǎng)站百度關(guān)鍵詞排名推廣
  • 騎行網(wǎng)站模板網(wǎng)站搭建平臺
  • wordpress 黃藍(lán) 現(xiàn)代企業(yè)教程seo推廣排名網(wǎng)站
  • 建立網(wǎng)站需要注冊公司嗎seo引擎優(yōu)化公司
  • 網(wǎng)站做哪些主題比較容易做幽默廣告軟文案例
  • 專做外貿(mào)衣服鞋網(wǎng)站有哪些網(wǎng)址搜索引擎入口
  • 還有什么網(wǎng)站可以做面包車?yán)涀鲆粋€網(wǎng)站需要多少錢大概
  • 福建網(wǎng)站建設(shè)公司交換友情鏈接的意義是什么
  • 常州建設(shè)工程監(jiān)理員掛證網(wǎng)站百度軟件開放平臺
  • 做網(wǎng)站的時候賣過假貨而出過事搜索引擎優(yōu)化是免費(fèi)的嗎
  • 重點(diǎn)項(xiàng)目建設(shè)網(wǎng)站商業(yè)策劃公司十大公司
  • 營銷型網(wǎng)站系統(tǒng)網(wǎng)絡(luò)營銷策劃方案
  • 國內(nèi)做新聞比較好的網(wǎng)站有哪些企業(yè)網(wǎng)站制作公司
  • wordpress漢語公益搜索網(wǎng)站排名優(yōu)化
  • 網(wǎng)站被降權(quán)會發(fā)生什么長春網(wǎng)站公司哪家好
  • 廊坊網(wǎng)站快速排名優(yōu)化杭州seo營銷
  • 旅游網(wǎng)站開發(fā)功能網(wǎng)絡(luò)廣告投放網(wǎng)站
  • 公安部門網(wǎng)站備案網(wǎng)站產(chǎn)品推廣
  • 政府網(wǎng)站建設(shè)工作匯報網(wǎng)頁設(shè)計和網(wǎng)站制作
  • 寧波網(wǎng)站建設(shè)免費(fèi)咨詢漯河網(wǎng)絡(luò)推廣哪家好
  • 微信微網(wǎng)站平臺seo優(yōu)化流程
  • j昆明網(wǎng)站制作公司關(guān)鍵詞搜索指數(shù)
  • 怎么靠做網(wǎng)站賺錢嗎企業(yè)宣傳方式有哪些
  • python 做網(wǎng)站開發(fā)嗎app拉新怎么做