Sign inSign up

wrfly/alpine-mysql

By wrfly

•Updated over 9 years ago

alpine-mysql

Image
2

1.0K

wrfly/alpine-mysql repository overview

⁠Micro Dockers

⁠介绍

自己做的一些Dockerfile.

每个都有详细的介绍, 如果不详细, 那就说明容器很简单..

基于 alpine 系统的微容器.

⁠Dcokerfile 基本结构

⁠Dockerfile的四部分
  • 基础镜像信息
  • 维护者信息
  • 镜像操作指令
  • 容器启动指令
⁠基础镜像信息
  • FROM ubuntu
  • FROM alpine
  • FROM nginx
⁠维护者信息

MAINTAINER wrfly [email protected]

⁠镜像操作指令
RUN echo "deb http://archive.ubuntu.com/ubuntu/ raring main universe" >> /et
RUN apt-get update && apt-get install -y nginx
RUN echo "\ndaemon off;" >> /etc/nginx/nginx.conf
⁠容器启动指令
CMD /usr/sbin/nginx
CMD ["nginx", "-g", "daemon off;"]
⁠其他指令
  1. EXPOSE

EXPOSE <port> [<port>...]

容器暴露的端口, 启动时要指定 -P 自动给容器分配端口, 或者 -p aaa:bbb 手动分配端口

  1. ENV
ENV PG_MAJOR 9.3
ENV PG_VERSION 9.3.4
ENV PATH /usr/local/postgres-$PG_MAJOR/bin:$PATH

指定一个环境变量,会被后续RUN指令使用,并在容器运行时保持。

  1. ADD

ADD <src> <dest>

复制源目录到容器中的目录, 源目录是dockerfile的相对路径, 也可以是URL或者一个tar文件.

  1. COPY

COPY <src> <dest>

跟ADD差不多, 不过只能复制相对路径, 推荐使用COPY.

  1. ENTRYPOINT

两种格式:

  • ENTRYPOINT ["executable", "param1", "param2"]
  • ENTRYPOINT command param1 param2

配置容器启动后执行的命令, 并且不会被docker run提供的参数覆盖. 如果有多个ENTRPOINT, 只有最后一个生效.

  1. VOLUME

VOLUME ["/date"]

挂载数据卷.

  1. USER

USER wrfly

指定容器启动时默认的用户名.

  1. WORKDIR

WORKDIR /path/to/workdir

为后续指令提供工作目录(默认目录).

可以理解为cd到这个目录中, 然后后面的指令都是基于这个目录的.

可以使用多个WORKDIR, 比如:

WORKDIR /a
WORKDIR b
WORKDIR c

那么当前的目录则为/a/b/c

  1. ONBUILD

ONBUILD [INSTRUCTION]

如果一个镜像的dockerfile中含有这个指令, 则基于这个镜像创建新的镜像的时候,都会执行指令后的内容.

⁠alpine 基本指令

项目主页:https://github.com/gliderlabs/docker-alpine⁠

介绍: http://gliderlabs.viewdocs.io/docker-alpine/⁠

用法: http://gliderlabs.viewdocs.io/docker-alpine/usage/⁠

安装软件: apk add -update nginx

⁠Dockerfile Example

FROM gliderlabs/alpine:3.3

RUN apk add --update \
    python \
    python-dev \
    py-pip \
    build-base \
  && pip install virtualenv \
  && rm -rf /var/cache/apk/*

WORKDIR /app

ONBUILD COPY . /app
ONBUILD RUN virtualenv /env && /env/bin/pip install -r /app/requirements.txt

EXPOSE 8080
CMD ["/env/bin/python", "main.py"]

Tag summary

Content type

Image

Digest

Size

48.9 MB

Last updated

over 9 years ago

docker pull wrfly/alpine-mysql