docker 及 docker-compose 的快速安装和简单使用
本篇將使用 DaoCloud 源在 Ubuntu 上簡單快速安裝 docker 及 docker-compose
并添加了通過 Dockerfile 及 docker-compose.yml 使用 nginx 的示例
本篇文章所用系統信息如下
docker 的安裝及使用
簡單介紹
docker 是一個開源的軟件部署解決方案
docker 也是輕量級的應用容器框架
docker 可以打包、發布、運行任何的應用
安裝
curl -sSL https://get.daocloud.io/docker | sh 復制代碼安裝后將會自動重啟
卸載
sudo apt-get remove docker docker-engine rm -fr /var/lib/docker/ 復制代碼配置加速器
下面是我的配置,實際使用需要根據自己的賬號去查看自己的地址
- DaoCloud
- 阿里云
基礎命令
- 查看版本: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.htmlecho '1.創建Dockerfile' echo ' From daocloud.io/library/nginx:1.13.0-alpine COPY dist/ /usr/share/nginx/html/ '>./Dockerfileecho '2.構建鏡像' docker build -t dockerfiletest .echo '3.運行鏡像' docker run -p 3344:80 dockerfiletest復制代碼下面分步拆解下
1.在項目目錄中添加 Dockerfile 文件
詳細請參考:hub.daocloud.io/repos/2b731…
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 了(未實踐過)
2.構建鏡像
構建參數說明參考:www.runoob.com/docker/dock…
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-test 復制代碼4.測試訪問
root@ubuntu:~# curl http://localhost:4455 hello world 復制代碼現在,可以通過 IP+端口的形式在外網訪問站點了,但在實際使用肯定還需要綁定域名等一些操作
最簡單的是我認為是使用 nginx 去做代理
目前我們公司使用的 traefik ,最爽的莫過于 https 的支持,可以了解一下
docker-compose 的安裝及使用
簡單介紹
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:latestports:- "4466:80"web2:image: registry.cn-hangzhou.aliyuncs.com/yimo_public/docker-nginx-test:latestports:- "4477:80" 復制代碼此處只是簡單演示寫法,說明 docker-compose 的方便
2.構建完成,后臺運行鏡像
docker-compose up -d 復制代碼運行后就可以使用 ip+port 訪問這兩個站點了
3.鏡像更新重新部署
docker-compose down docker-compose pull docker-compose up -d 復制代碼相關文章
- docker 文檔:docs.docker.com/get-started…
- docker-compose 文檔:docs.docker.com/compose/ins…
- docker-compose 倉庫:github.com/docker/comp…
- daocloud 源地址 :get.daocloud.io/#install-do…
- Docker 通過 Nginx 鏡像部署 Vue 項目:blog.csdn.net/jason_jeson…
- DaoClould hub.daocloud.io/repos/2b731…
總結
以上是生活随笔為你收集整理的docker 及 docker-compose 的快速安装和简单使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: HDU 5624 KK's Recons
- 下一篇: 如何成为一名入门级 iOS 开发者