Dockerfile

Dockerfile是由一系列命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个新的镜像,文件名必须叫Dockerfile

# 镜像哪里来?
    -1 远程仓库下载的
    -2 容器做的
    -3 xx.tar 解压出来的
    -4 通过dockerfile构建
        普通文件,文件中写了很多命令,根据这些命令创建出镜像来
        
        
# 常用命令
    #1  FROM image_name:tag     基于哪个基础镜像来构建
    #2  MAINTAINER lqz         声明镜像的创建者
    #3  ENV key value         设置环境变量 (可以写多条)
        ENV DB_PASSWORD lqz123  运行容器 -e参数指定 -e DB_PASSWORD=xxxx
    #4  RUN command               是Dockerfile的核心部分(可以写多条),
        command  linux命令
   
    # 5 ADD 宿主机路径文件  容器路径文件      将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压
    # 6 COPY 宿主机路径文件  容器路径文件  将宿主机的文件复制到容器内
    # 7 WORKDIR path_dir    设置工作目录    docker exec 进入到容器,在某个路径下
    # 8 CMD   命令          运行容器默认执行的命令,它可以被替换 
        CMD:添加启动容器时需要执行的命令。多条只有最后一条生效。可以在启动容器时被覆盖和修改

1 简单案例基于centos创建一个镜像,里面带vim软件

Dockerfile

FROM centos:7
MAINTAINER lqz
WORKDIR /home
RUN yum install -y vim
RUN mkdir lqz
ADD ./xx.txt ./yy.txt

构建镜像

docker build -t='centos_lqz_vim' .

制作django项目的镜像,运行

# 步骤:
    -1 books项目准备好
    -2 在项目路径下编写Dockerfile
        FROM python:3.8
        MAINTAINER lqz
        WORKDIR /soft
        COPY ./requirements.txt /soft/requirements.txt
        RUN pip install -r requirements.txt -i https://pypi.doubanio.com/simple
        CMD ["python","manage.py","runserver","0.0.0.0:8080"]
        
    -3 把books代码提交到git
    -4 部署项目的机器,clone 项目
        git clone https://gitee.com/liuqingzheng/books.git
    -5 cd books 文件夹下,执行构建镜像命令
        docker build -t='django_books' .
    -6 有个镜像django_books,运行成容器
        docker run -id --name=books -v /root/books:/soft -p 8080:8080 books_django:latest
        
   -7 win操作系统的浏览器中访问虚拟机地址,就可以访问项目了

    -8 继续开发项目,改了代码,提交到git
    -9 部署项目的机器,拉去最新代码
    -10 重启docker容器即可(第三方依赖变了)--》重写构建镜像,运行容器

 

posted @ 2022-12-21 08:59  shangxin_bai  阅读(16)  评论(0)    收藏  举报