DockerFile案例
DockerFile案例
案例1:自定义镜像mycentos
1、在Centos7宿主机上启用ip转发功能
# Avoid WARNING: IPv4 forwarding is disabled. Networking will not work.
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
systemctl restart network
2、编写DockerFile文件:vim Dockerfile
# 查询centos镜像版本:https://hub.docker.com/
FROM centos:7
# author
MAINTAINER auth
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
# 暴露端口
EXPOSE 80
CMD echo $MYPATH
CMD /bin/bash
3、构建mycentos镜像(不要忘记最后的.)
docker build -f Dockerfile -t mycentos:1.0 .
4、通过mycentos镜像生成容器,并且更改容器的yum源
# 创建并运行容器
docker run -it --name mycentos01 mycentos:1.0
# yum repo (163)
mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS7-Base-163.repo
yum clean all && yum makecache
# ping test
ping www.baidu.com
案例2:带有JDK的Centos7镜像
1、下载JDK到宿主机工作目录(如jdk-8u281-linux-x64.tar.gz)
-
在linux中安装jdk的教程(若不需要在宿主机上安装jdk,可以跳过)
-
Java官方文档:https://docs.oracle.com/javase/8/docs/technotes/guides/install/install_overview.html
-
Change directory to the location where you would like the JDK to be installed, then move the .tar.gz archive file to the current directory.
-
Unpack the archive file and install the JDK. ( tar zxvf jdk-8uversion-linux-x64.tar.gz )
tar zxvf jdk-8u281-linux-x64.tar.gz
-
The JDK files are installed in a directory called jdk1.8.0_version in the current directory.
jdk1.8.0_281
-
Delete the .tar.gz file if you want to save disk space.
-
2、编写DockerFile文件:vim Dockerfile1
FROM centos:7
MAINTAINER auth
ENV MYPATH /usr/local
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools
# COPY:将宿主机中指定的文件复制到docker容器中指定的路径 ADD:复制(若是压缩文件会先解压)
ADD jdk-8u281-linux-x64.tar.gz /usr/local
ENV JAVA_HOME /usr/local/jdk1.8.0_281
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV PATH $PATH:$JAVA_HOME/bin
EXPOSE 80
CMD echo $MYPATH
CMD /bin/bash
3、构建 jdk+centos7 镜像(不要忘记最后的.)
docker build -f Dockerfile1 -t mycentos:2.0 .