blog_20160911_1_7918242 3行 Text
Raw
 1
 2
 3
WORKDIR /A
WORKDIR B
RUN X
blog_20160911_2_8332163 4行 Text
Raw
 1
 2
 3
 4
...
ONBUILD ADD . /app/src
ONBUILD RUN /usr/local/... --dir /app/src
...
blog_20160911_3_6795019 1行 Text
Raw
 1
docker build -t image_name /src/dockerfile_path
blog_20160911_4_6794236 37行 Text
Raw
  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
#本文参考了「tutum」的 Dockerfile
FROM sshd
MAINTAINER Waitfish <dwj_zz@163.com>
#安装软件
ENV DEBIAN_FRONTEND noninteractive
RUN apt-get update && \
apt-get -yq install mysql-server-5.6 pwgen && \
rm -rf /var/lib/apt/lists/*

# 删除预安装的数据库文件
RUN rm -rf /var/lib/mysql/*

# 添加文件夹下的 MYSQL 配置文件
ADD my.cnf /etc/mysql/conf.d/my.cnf
ADD mysqld_charset.cnf /etc/mysql/conf.d/mysqld_charset.cnf

# 添加 MYSQL 的脚本
ADD import_sql.sh /import_sql.sh
ADD run.sh /run.sh
RUN chmod 755 /*.sh

# 设置环境变量,用户名以及秘密
ENV MYSQL_USER admin
ENV MYSQL_PASS **Random**

# 设置主从复制模式下的环境变量
ENV REPLICATION_MASTER **False**
ENV REPLICATION_SLAVE **False**
ENV REPLICATION_USER replica
ENV REPLICATION_PASS replica

# 设置可以允许挂载的卷,可以用来备份数据库和配置文件
VOLUME ["/etc/mysql", "/var/lib/mysql"]

# 设置可以映射的端口,如果是从我们的 sshd 镜像继承的话,默认还会开启 22 端口
EXPOSE 3306
CMD ["/run.sh"]