背景知識
- 容器技術
- 容器是一個允許我們在資源隔離的過程中,執行應用程式和其依賴的、輕量的、作業系統級別的虛擬化技術,執行應用程式所需的所有必要元件都打包為單個映象,這個映象是可以重複使用的。當映象執行時,它是執行在獨立的環境中,並不會和其他的應用共用主機作業系統記憶體、CPU或磁碟,這保證了容器內的程序不會影響到容器外的任何程序
- 簡單來說就是一個不會相互影響的獨立的執行環境
- Docker
- Docker 是一個開源的應用容器引擎,讓開發者可以打包他們的應用以及依賴包到一個可移植的容器中,然後釋出到任何流行的 Linux 機器或 Windows 機器上,也可以實現虛擬化,容器是完全使用沙箱機制,相互之間不會有任何介面。Docker底層用的 Linux 的 cgroup 和 namespace 這兩項技術來實現應用隔離,一個完整的 Docker 有以下幾個部分組成:
- Docker Client 使用者端
- Docker Daemon 守護行程
- Docker Image 映象
- Docker Container 容器
Docker有兩個分支版本:Docker CE【社群版】 和 Docker EE【企業版】 ,這裡我們安裝社群版
yum install -y yum-utils device-mapper-persistent-data lvm2
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum makecache fast
yum -y install docker-ce
systemctl start docker
Docker的預設官方遠端倉庫是 hub.docker.com ,但是國內下載比較慢,這裡我們使用阿里雲映象倉庫下載
子使用者名稱稱
和子使用者密碼
登入容器映象服務控制檯容器映象服務
,點選登入控制檯registry-mirrors
對應的地址改為上一步獲取到的地址】tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": ["https://kqh8****.mirror.aliyuncs.com"]
}
EOF
systemctl daemon-reload
systemctl restart docker
docker serach nginx
docker pull nginx:latest
docker images
docker run --name nainx-test -p 8080:80 -d nginx
引數說明:
- –name nginx-test:容器名稱
- -p 8080:80:埠進行對映,將本地8080埠對映到容器內部的80埠。
- -d nginx:設定容器在後臺一直執行
http://<ECS公網地址>:8080
存取Nginx服務。