目录

  • 1. 操作系统
  • 2. Web服务
    • 2.1 Apache
    • 2.2 Nginx
    • 3.3 Tomcat & Jetty
    • 3.4 LAMP
    • 3.5 CI/CD
  • 4. 数据库
    • 4.1 MySQL
    • 4.2 MongoDB
    • 4.3 Cassandra
  • 5. 分布式处理
    • 5.1 Hadoop
    • 5.2 Spark
    • 5.3 Storm
  • 6. 编程开发
    • 6.1 C/C++
    • 6.2 Java
    • 6.3 Python
  • 7. 云服务

1. 操作系统

  • busybox
  • alpine
  • ubuntu
  • centos

2. Web服务

2.1 Apache

:'
FROM httpd:2.4
# mkdir public; vi ./public/index.html
COPY ./public /usr/local/apache2/htdocs
'
docker build -t apache2-image .
#############################################

2.2 Nginx

Nginx具有热部署、高并发、低内存、快速响应和可靠性高等特点。

docker run -d -p 80:80 -v index.html:/usr/share/nginx/html:ro --name myweb nginx
#############################################
:'
FROM nginx
COPY ./index.html /usr/share/nginx/html
'
docker build -t my-nginx .
docker run -d --name myweb my-nginx
#############################################
:'
FROM ubuntu
MAINTAINER lihua<lihua@docker.com>
# 安装配置
RUN apt-get install -y nginx && \rm -rf /var/lib/apt/lists/* && \echo "\ndaemon off;" >> /etc/nginx/nginx.config &&\chown -R www-data:www-date /var/lib/nginx
RUN echo "Asia/Shanghai" >> /etc/timezone && \dpkg-reconfigure -f noninteractive tzdata
# 添加用户脚本
ADD run.sh /run.sh
RUN chmod 755 /*sh
# 定义可以被挂载的目录:虚拟主机的挂载目录、证书目录、配置目录和日志目录
VOLUME ["/etc/nginx/sites-enabled","/etc/nginx/certs", \"/etc/nginx/conf.d", "/var/log/nginx"]
# 定义工作目录
WORKDIR /etc/nginx
# 定义输出命令:"#!/bin/bash\n/usr/sbin/nginx"
CMD ["/run.sh"]
# 定义输出端口
EXPOSE 80
EXPOSE 443
'
docker build -t my-nginx:2 .
docker run -d --name myweb2 my-nginx:2

3.3 Tomcat & Jetty

Jakarta项目开发的一个Servlet容器,内含了一个http服务器,具有管理和控制平台的功能。

#############################################

Jetty是一个开源servlet容器,相比tomcat,结构更加合理,性能更优。

docker run -d jetty

3.4 LAMP

LAMP(Linux-Apache/nginx-MySQL-PHP/perl/python)是目前流行的web工具栈。相比Java/J2EE架构具有资源丰富、轻量和快速开发的特点。相比.NET架构,具有跨平台、高性能和价格低的优势。

docker run -it -p 80:80 linode/lamp /bin/bash
service apache2 start
service mysql start
#############################################
docker run -d -p 80:80 -p 3306:3306 tutum/lamp
:'
FROM tutum/lamp:latest
RUN rm -rf /app && git clone <git_address> /app
EXPOSE 80 3306
CMD ["/run.sh"]
'
docker build -t my-lamp .
docker run -d -p 80:80 -p 3306:3306 my-lamp

3.5 CI/CD

Jenkins是一个持续集成和持续交付工具。

docker run -p 8080:8080 -p 50000:50000 --name jk\-v /yourhome:/var/jenkins_home jenkins

Gitlab是一款开源源码管理系统。支持基于Git的源码管理、代码评审、issue跟踪、活动管理、wiki页面、持续集成和测试等功能。

docker run -d --name gitlab \--host-name gitlab.ex.com \--publish 443:443 --publish 80:80 --publish 23:23 \--restart always \--volume /srv/gitlab/config:/etc/gitlab \--volume /srv/gitlab/logs:/etc/log/gitlab \--volume /srv/gitlab/data:/var/opt/gitlab \gitlab/gitlab-ce:latest

4. 数据库

4.1 MySQL

MySQL是开源的关系型数据库。具有成熟可靠、易用等特点。

# 快速启动
docker run -d --name mysql \-e MYSQL_ROOT_PASSWORD=123 \mysql:latest
# 通过配置文件进行配置
docker run --name mysql \-e MYSQL_ROOT_PASSWORD=123 \-v /config:/etc/mysql/conf.d \mysql:latest
# 通过标签进行配置
docker run --name mysql \-e MYSQL_ROOT_PASSWORD=123 \mysql:latest \--character-set-server=utf8mb4

4.2 MongoDB

MongoDB是NoSQL数据库。具有高性能、易部署、易使用等特点。

docker run -d --name md mongo

4.3 Cassandra

Cassandra是开源的分布式数据库。

docker run -d --name cs cassandra

5. 分布式处理

5.1 Hadoop

Hadoop是一个开源的分布式计算平台,由HDFS(分布式文件系统)、YARN(资源管理系统)和MapReduce(分布式处理管理)三个核心子系统组成。此外还包括HBae(列数据库),Cassandra(分布式数据库)等相关项目。

5.2 Spark

Spark是一个大数据处理框架。相较Hadoop和Storm,其支持更灵活的函数定义,可以将应用处理速度提升1-2个数量级,并提供了众多实用工具。

5.3 Storm

Storm是一个实时流计算框架。Storm集群和Hadoop集群类似,除了后者运行的是Mapduce任务,而前者运行的是topology。

6. 编程开发

6.1 C/C++

6.2 Java

6.3 Python

7. 云服务

Docker_notes_practice相关推荐

最新文章

  1. 微博基于Flink的机器学习实践
  2. java socket同步通信,javasocket客户端与服务端同步通信实例
  3. 【UWB】Savitzky Golay filter SG滤波器快速入门并上手使用
  4. Java设计模式之创建型:建造者模式
  5. CSS3+JS切割轮播图
  6. 深入学习SAP UI5框架代码系列之三:HTML原生事件 VS UI5 Semantic事件
  7. 领导者的资质——学习笔记(3):领导者的十项职责
  8. 部署Symantec Antivirus 10.0网络防毒服务器之七
  9. mysql 并发_MySQL的并发控制与加锁分析
  10. libevent源码分析:bufferevent
  11. 斯诺登:澳大利亚的监视政策比NSA还下流
  12. GitHub上下载资源
  13. 付呗聚合支付快速教程 基础篇②——FubeiUtils付呗工具类(封装参数和签名规则)
  14. RPL(8):RFC6550翻译(8)---下行路由
  15. Power bi 1.2连接文本文件
  16. PSO粒子群算法微电网优化调度(微电网孤岛运行优化调度)matlab程序
  17. 学习笔记2:高精度地图
  18. CADENCE 拼板经验
  19. Windows XP 下安装SQL SERVER2005 问题汇总
  20. 用户不在 sudoers 文件中此事将被报告

热门文章

  1. gis统计百分比_详细讲解ArcGIS数据统计及字段计算
  2. 包装exp是什么意思_药瓶说明中EXP是什么意思?
  3. springboot集成xxl-job
  4. 华为云、百度云 群控系统开发流程
  5. 【Unity】Jay 开发日志(三)——道具效果的实现(上)
  6. my dear dalao please bangbang wo
  7. 洛谷----P1036 [NOIP2002 普及组] 选数
  8. 知识图谱问答 | (3) 关系分类概述
  9. RAM和ROM(verilog)
  10. 聊聊前端框架——尤雨溪