摘要:使用不再需要使用腳本來啟動容器。通過配置安裝可以通過修改中的版本,自定義您需要的版本。
docker 的安裝及使用 簡單介紹本篇將使用 DaoCloud 源在 Ubuntu 上簡單快速安裝 docker 及 docker-compose
并添加了通過 Dockerfile 及 docker-compose.yml 使用 nginx 的示例
本篇文章所用系統信息如下Distributor ID: Ubuntu Description: Ubuntu 16.04.1 LTS Release: 16.04
docker 是一個開源的軟件部署解決方案安裝
docker 也是輕量級的應用容器框架
docker 可以打包、發布、運行任何的應用
curl -sSL https://get.daocloud.io/docker | sh
安裝后將會自動重啟
卸載sudo apt-get remove docker docker-engine rm -fr /var/lib/docker/配置加速器
下面是我的配置,實際使用需要根據自己的賬號去查看自己的地址
DaoCloud
curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://ced808ab.m.daocloud.io sudo systemctl restart docker.service
阿里云
sudo mkdir -p /etc/docker sudo tee /etc/docker/daemon.json <<-"EOF" { "registry-mirrors": ["https://dist7hw1.mirror.aliyuncs.com"] } EOF sudo systemctl daemon-reload sudo systemctl restart docker基礎命令
查看版本:docker -v //文章使用版本:Docker version 18.06.0-ce, build 0ffa825
查看鏡像:docker images
查看容器:docker ps
啟動 docker 服務:sudo service docker start
停止 docker 服務:sudo service docker stop
重啟 docker 服務:sudo service docker restart
通過 Dockerfile 使用 nginx通過下面的一個腳本可以簡單快速的創建一個鏡像并運行起來
大概看下應該就可以大概明白鏡像的基本使用了
echo "0.創建測試目錄及代碼" mkdir dockerfiletest cd dockerfiletest mkdir dist echo "hello world">./dist/index.html echo "1.創建Dockerfile" echo " From daocloud.io/library/nginx:1.13.0-alpine COPY dist/ /usr/share/nginx/html/ ">./Dockerfile echo "2.構建鏡像" docker build -t dockerfiletest . echo "3.運行鏡像" docker run -p 3344:80 dockerfiletest
下面分步拆解下
1.在項目目錄中添加 Dockerfile 文件詳細請參考:https://hub.daocloud.io/repos...
html 的簡單部署
From daocloud.io/library/nginx:1.13.0-alpine # 將發布目錄的文件拷貝到鏡像中 COPY dist/ /usr/share/nginx/html/
若要使用自己的配置腳本,比如 vue 的配置,可以將自己的配置文件復制到容器中
From daocloud.io/library/nginx:1.13.0-alpine # 刪除鏡像中 nginx 的默認配置 RUN rm /etc/nginx/conf.d/default.conf # 復制 default.conf 到鏡像中 ADD default.conf /etc/nginx/conf.d/ # 將發布目錄的文件拷貝到鏡像中 COPY dist/ /usr/share/nginx/html/
nginx 中 vue history 模式的配置 如下,可參考
server { listen 80; location / { root /usr/share/nginx/html/; index index.html; try_files $uri $uri/ /index.html; } }
若是將/usr/share/nginx/html/和/etc/nginx/conf.d/掛載到本地,這樣應該能夠靈活使用 docker 安裝的 nginx 了(未實踐過)
構建參數說明參考:http://www.runoob.com/docker/...
docker build -t docker-nginx-test .3.運行鏡像
--name 服務名
-d 后臺運行
-p 暴露端口:nginx 端口
docker-nginx-test 鏡像名/IMAGE ID
docker run --name dockertest -d -p 4455:80 docker-nginx-test4.測試訪問
root@ubuntu:~# curl http://localhost:4455 hello world
現在,可以通過 IP+端口的形式在外網訪問站點了,但在實際使用肯定還需要綁定域名等一些操作docker-compose 的安裝及使用 簡單介紹
最簡單的是我認為是使用 nginx 去做代理
目前我們公司使用的 traefik ,最爽的莫過于 https 的支持,可以了解一下
Docker Compose 是一個用來定義和運行復雜應用的 Docker 工具。安裝
使用 Docker Compose 不再需要使用 shell 腳本來啟動容器。(通過 docker-compose.yml 配置)
可以通過修改 URL 中的版本,自定義您需要的版本。
curl -L https://get.daocloud.io/docker/compose/releases/download/1.22.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose chmod +x /usr/local/bin/docker-compose卸載
sudo rm /usr/local/bin/docker-compose基礎命令
需要在 docker-compose.yml 所在文件夾中執行命令
使用 docker-compose 部署項目的簡單步驟
停止現有 docker-compose 中的容器:docker-compose down
重新拉取鏡像:docker-compose pull
后臺啟動 docker-compose 中的容器:docker-compose up -d
通過 docker-compose.yml 部署應用我將上面所創建的鏡像推送到了阿里云,在此使用它
1.新建 docker-compose.yml 文件通過以下配置,在運行后可以創建兩個站點(只為演示)
version: "3" services: web1: image: registry.cn-hangzhou.aliyuncs.com/yimo_public/docker-nginx-test:latest ports: - "4466:80" web2: image: registry.cn-hangzhou.aliyuncs.com/yimo_public/docker-nginx-test:latest ports: - "4477:80"
此處只是簡單演示寫法,說明 docker-compose 的方便
2.構建完成,后臺運行鏡像docker-compose up -d
運行后就可以使用 ip+port 訪問這兩個站點了
3.鏡像更新重新部署docker-compose down docker-compose pull docker-compose up -d相關文章
docker 文檔:https://docs.docker.com/get-s...
docker-compose 文檔:https://docs.docker.com/compo...
docker-compose 倉庫:https://github.com/docker/com...
daocloud 源地址 :https://get.daocloud.io/#inst...
Docker 通過 Nginx 鏡像部署 Vue 項目:https://blog.csdn.net/jason_j...
DaoClould https://hub.daocloud.io/repos...
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/27424.html
摘要:使用不再需要使用腳本來啟動容器。通過配置安裝可以通過修改中的版本,自定義您需要的版本。 本篇將使用 DaoCloud 源在 Ubuntu 上簡單快速安裝 docker 及 docker-compose并添加了通過 Dockerfile 及 docker-compose.yml 使用 nginx 的示例本篇文章所用系統信息如下 Distributor ID: Ubuntu Descri...
摘要:如今前端工程越來越復雜,打造一個好用的工作流也顯得越來越重要。如果用戶啟動容器時指定了運行的命令,則會覆蓋掉指定的命令。個人感覺在項目多協作人數多的情況下,還是很方便的。 showImg(https://segmentfault.com/img/remote/1460000011553749?w=1100&h=225); 如今前端工程越來越復雜,打造一個好用的工作流也顯得越來越重要。本...
摘要:如今前端工程越來越復雜,打造一個好用的工作流也顯得越來越重要。如果用戶啟動容器時指定了運行的命令,則會覆蓋掉指定的命令。個人感覺在項目多協作人數多的情況下,還是很方便的。 showImg(https://segmentfault.com/img/remote/1460000011553749?w=1100&h=225); 如今前端工程越來越復雜,打造一個好用的工作流也顯得越來越重要。本...
摘要:三部署架構說明這個方案僅適用于小公司敏捷項目團隊聯調測試環境的部署,同時也可以作為學習入門的,并不適用于有一定規模的生產環境。另外,建議把測試域名泛解析到部署這臺服務的機器。模塊配置部署腳本業務模塊的配置基本是通過部署腳本來操作的。 項目地址: https://github.com/xiongwilee...基本特性: 快捷部署多人nginx+php的開發測試環境,也可以擴展構建其...
摘要:三部署架構說明這個方案僅適用于小公司敏捷項目團隊聯調測試環境的部署,同時也可以作為學習入門的,并不適用于有一定規模的生產環境。另外,建議把測試域名泛解析到部署這臺服務的機器。模塊配置部署腳本業務模塊的配置基本是通過部署腳本來操作的。 項目地址: https://github.com/xiongwilee...基本特性: 快捷部署多人nginx+php的開發測試環境,也可以擴展構建其...
閱讀 2925·2023-04-26 02:22
閱讀 2286·2021-11-17 09:33
閱讀 3127·2021-09-22 16:06
閱讀 1062·2021-09-22 15:54
閱讀 3530·2019-08-29 13:44
閱讀 1905·2019-08-29 12:37
閱讀 1316·2019-08-26 14:04
閱讀 1905·2019-08-26 11:57