文章目錄
- Docker是什么
- 市面使用情況
- 理解
- 為什么需要
- 用途
- 特點
- 鏡像images
- 容器
- 倉庫
- 安裝
- Linux
- 第一個docker容器
- Nginx下載
- 前臺、后臺的運行
- 訪問到容器內部
- 三種網路模式
- 訪問到docker內部的ngnix->埠映射
- dockerfile實戰
Docker是什么
市面使用情況

理解

為什么需要
基于linux容器的 環境,類似于虛擬機,方便部署

用途

特點

好處開發同一份鏡像

鏡像images


分層,在別人的鏡像基礎上做修改

容器
寫在最上層,下面都是只讀


倉庫
hub.docker.com
https://c.163.com/hub#/m/home/
安裝
centos7.6
Linux
// 查看系統版本號
[root@hadoop01 ~]# cat /etc/redhat-release
CentOS Linux release 7.8.2003 (Core)
// 用root賬戶登錄進去
// 配置國內yum源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
yum clean all
yum makecache
//卸載舊版本
//較舊的Docker版本稱為docker或docker-engine,如果已安裝這些程式,請卸載它們以及相關的依賴項,
yum remove docker \
? docker-client \
? docker-client-latest \
? docker-common \
? docker-latest \
? docker-latest-logrotate \
? docker-logrotate \
? docker-engine
//更新yum
yum check-update
yum update
//安裝所需的軟體包
yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
//使用以下命令來設定穩定的存盤庫,
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
//查看docker版本
yum list docker-ce --showduplicates | sort -r
//安裝指定的版本
yum install docker-ce-18.09.0 docker-ce-cli-18.09.0 containerd.io
//Docker 是服務器----客戶端架構,命令行運行docker命令的時候,需要本機有 Docker 服務,用下面的命令啟動
systemctl start docker
//安裝完成后,運行下面的命令,驗證是否安裝成功,
docker version
或者
docker info
第一個docker容器
拉取、查看鏡像

//查看當前鏡像
docker images
//拉取hello-world鏡像
docker pull hello-world
//運行一個鏡像,鏡像會創造實體容器,通過容器回傳流資料給客戶端
docker run hello-world
Nginx下載

前臺、后臺的運行
// 拉取網易鏡像https://c.163yun.com/hub
docker pull hub.c.163.com/library/nginx:1.13.0
//驗證當前鏡像
docker images
//運行時必須制定版本號,不然拉取最新
docker run hub.c.163.com/library/nginx:1.13.0
//查看當前正在運行的容器(比如前臺運行那種)
docker ps
//ctrl+c停止前臺運行(docker stop 容器id)
//重新,后臺運行鏡像,創建容器
docker run -d hub.c.163.com/library/nginx:1.13.0
訪問到容器內部
//一般訪問到容器內部都是通過命令列(shell)
//將容器映射到當前終端shell(啟動容器 編號可以寫縮寫)
[root@hadoop01 ~]# docker exec -it be2 bash
root@be28d0664f17:/#
//查看nginx所在位置
root@be28d0664f17:/# which nginx
/usr/sbin/nginx
三種網路模式
橋接
主機
沒有
訪問到docker內部的ngnix->埠映射
//啟動指定埠的本機->容器的映射
docker run -d -p 8080:80 hub.c.163.com/library/nginx:1.13.0
//驗證埠的映射輸出
docker ps
0.0.0.0:8080->80/tcp
//驗證本機埠處于監聽中
[root@hadoop01 ~]# netstat -na|grep 8080
tcp6 0 0 :::8080 :::* LISTEN
//當-P時大寫,埠會自動映射,問題是不固定
docker run -d -P hub.c.163.com/library/nginx:1.13.0
//驗證
docker ps
0.0.0.0:49153->80/tcp

dockerfile實戰


//檔案名約定俗成
[root@hadoop01 ~]# touch Dockerfile
[root@hadoop01 ~]# vim Dockerfile
// vi 檔案
FROM alpine:latest
MAINTAINER bennyrhys
CMD echo 'hello my dockerfile'
//docker編譯檔案
docker build -t hello_docker .
//查看已自定義的docker檔案
docker images
//運行docker
[root@hadoop01 ~]# docker run hello_docker
hello my dockerfile
CSDN認證博客專家
分布式
Java
架構
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/235457.html
標籤:其他
