docker 及 docker-compose 的快速安装和简单使用
本篇将使用 DaoCloud 源在 Ubuntu 上简单快速安装 docker 及 docker-compose
并添加了通过 Dockerfile 及 docker-compose.yml 使用 nginx 的示例
本篇文章所用系统信息如下
Distributor ID: Ubuntu
Description: Ubuntu 16.04.1 LTS
Release: 16.04
Codename: xenial
复制代码
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
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.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 的快速安装和简单使用相关推荐
- TAIGA项目管理平台快速安装
转载来源:https://qiita.com/maemori/items/4bd1b985774d17888e29 , https://github.com/maemori/accon/tree/ma ...
- docker镜像指定安装源_Docker快速安装以及换镜像源
不得不说 docker的火爆程度已经达到的地步, 由于国外docker搭建太慢,国外的安装文档也很全面,这里就不在详述,详情可以点击这里: 正主:Docker 官方镜像加速:http://www.do ...
- Docker容器之compose容器集群的快速编排
Docker容器之compose容器集群的快速编排 前言 一.Docker-compose简介 二.YAML文件格式及编写注意事项 (1)YAML文件格式 (2)YAML格式的注意事项 (3)YAML ...
- Docker与Docker Compose的安装以及Portainer容器管理工具
Docker官网 概述 Docker 是一个用于开发.发布和运行应用程序的开放平台.Docker 能够将应用程序与基础架构分离,以便可以快速交付软件.使用 Docker,可以像管理应用程序一样管理基础 ...
- 快速安装Docker详细图文步骤教程
文章目录 一.Docker的基本组成 1.Docker是什么? 2.我可以使用Docker做什么? 二.Docker在线安装 1.使用uname命令验证-查看即可 2.如果已经安装过Docker,先卸 ...
- 阿里云服务器Docker及Docker Compose的安装
2019独角兽企业重金招聘Python工程师标准>>> 本文对阿里云ECS服务器如何安装Docker和Docker Compose进行说明,以centOS系统为例. 一.开通外网的E ...
- Docker快速安装与快速入门
一.软件版本 操作系统:Centos 7.0 二.开始安装: http://www.daocloud.io/ 由于国内的源比较卡,所以我们推荐使用daocloud的方式,注册安装即可: [root@l ...
- Docker快速安装RabbitMQ服务
Docker快速安装RabbitMQ服务 快速开始 #!/bin/bash # 建议保存为start.sh脚本执行 docker run -d --hostname my-rabbit --name ...
- Docker快速安装Sybase数据库DBeaver数据库图形化管理开发工具
Docker快速安装Sybase数据库 Sybase 15.7 Based on ifnazar/sybase_15_7 Needs about 30 seconds after start for ...
最新文章
- php简单文章,php编写简单的文章发布程序
- ssh整合webservice cxf采用注解的方式+andriod客户端
- boost::container模块实现范围分配器用法
- C++连接MySQL(Windows)
- mongodb和mysql的对比_Mongodb与mysql语法比较
- 推荐常用的小程序Ui框架
- war包怎么解压_微信猫和老鼠主题怎么搞?快来看
- 计算机应用技术教程的答案,大学计算机应用技术教程答案
- VS2013使用NuGet下载资源时提示“Newtonsoft.Json”已拥有为“Microsoft.CSharp”定义的依赖项的错误
- ajax+同步+返回数据库,如何使AJAX同步
- 尘梦留痕:苏东坡的诗词里,藏着六种人生智慧
- 服务器硬盘热插拔后告警,IBM硬盘所谓支持热插拔带来的问题
- 魔百和CM311-1a_YST代工_安卓9_S905L3A_没无线版线刷包(可救砖)
- 计算机放音乐声音小在吗调,用电脑在网上看电影时配乐音量太大,请问怎么只把配乐音量调小,而说话声不调小。...
- The Hidden Agenda User Simulation Model翻译
- seo文章伪原创技巧(你不知道的伪原创文章处理技巧)
- 小米手机扩容教程_小米note手机扩容,16G升级64G
- matlab解高阶非齐次方程并作图,高阶非齐次线性微分方程
- Android源码国内源下载
- AndroidStudio百度地图开发之显示地图
热门文章
- C++11 并发指南六(atomic 类型详解三 std::atomic (续))
- LeetCode 665 非递减数列
- Detours的作用和实例(hook、钩子)
- python中 yield 的用法详解——最简单,最清晰的解释(排序节省内存消耗)
- IDS与IPS的区别(HIDS、NIDS)
- 题解 UVA10587 【Mayor's posters】
- 设计模式之笔记--简单工厂模式(Simple Factory)
- 一种用javascript实现的比较兼容的回到顶部demo + 阻止事件冒泡
- 20 个强大的 Sublime Text 插件
- Xdebug 使用说明