一个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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值