一个dockerfile例子(参考着写dockerfile)

#拉取一个基础的景象
FROM ubuntu:16.04

#更换源
COPY sources.list /etc/apt/sources.list

#docker cp wordpress-4.6.zip 容器ID或者容器名字:/root
COPY wordpress-4.6.zip /root/wordpress-4.6.zip

#build: cd a; docker build -t test .
#交互的方式启动镜像 docker run -it test /bin/bash

RUN apt-get update -y
RUN apt-get install -y apache2 php7.0 php7.0-mysql libapache2-mod-php7.0 iputils-ping net-tools unzip openssh-server sudo gcc

#通过debconf-set-selections 提前设置mysql的root密码,这样mysql可以静默安装
RUN echo “mysql-server mysql-server/root_password password 123456” | debconf-set-selections
RUN echo “mysql-server mysql-server/root_password_again password 123456” | debconf-set-selections
RUN apt-get install -y mysql-server

# service apache2 start | stop | status
# service ssh start | stop | status

#指定工作目录
WORKDIR /root

#安装wordpress
RUN unzip wordpress-4.6.zip
#apache /var/www/html
RUN mv wordpress /var/www/html

COPY about.html /var/www/html
COPY robot.txt /var/www/html
COPY password.txt /var/www/html

#添加用户
RUN mkdir -p /home/lisi #创建目录
RUN useradd -s /bin/bash -d /home/lisi lisi #创建用户
RUN echo “lisi:123456” | chpasswd #无交互的修改密码
RUN chown lisi:lisi /home/lisi #修改home目录的权限 root
RUN echo “here_is_flag_2” >> /home/lisi/flag2

#添加sudo权限
RUN chmod +w /etc/sudoers
RUN echo “lisi ALL=(ALL:ALL) ALL” >> /etc/sudoers
RUN echo “HERE_IS_FLAG_3” > /root/flag3

#启动脚本
# docker 容器本身就是一个进程。如果进程里面有没有让进程持续运行的指令,那么进程就会退出。 死循环/ping
# ls 打印完当前路径的内容,然后就退出
# ping www.baidu.com 没有指定次数,那么他就持续运行

#启动脚本
COPY run.sh /run.sh
RUN chmod 755 /run.sh
CMD ["/run.sh"]

#docker build -t test .
#docker images
#docker run -d --rm --name test -p 9090:80 -p 2222:22 test
#docker ps -a
#docker exec -it test /bin/bash

你可能感兴趣的:(应用配置,docker)