Docker+Dockerfile-Spring专区论坛-技术-SpringForAll社区

Docker+Dockerfile

  • Docker安装
    • 安装docker-ce
      • 1 yum install docker-ce -y
      • 2 systemctl start docker.service
      • 3 systemctl enable docker
      • 4 systemctl status docker
      • 4 docker –version
        • 图片[2]-Docker+Dockerfile-Spring专区论坛-技术-SpringForAll社区
  • Docker使用
    • docker命令
      • #查看docker版本
        • docker –version
      • #搜索软件
        • docker search name
      • #下载软件
        • docker pull name
      • #查看镜像
        • docker images
      • #删除镜像
        • docker rmi “IMGAE ID”或者docker rmi “PEPOSITORY”:”TAG”
      • #重命名
        • docker tag “old PEPOSITORY”:”old TAG” “new PEPOSITORY”:”new TAG”
      • #查看当前运行的容器
        • docker ps
          • –all #加上不论运行不运行所有容器都会显示
      • #开启容器
        • docker run -参数 “PEPOSITORY”:”TAG” /bin/bash
          • 例如:docker run -it nginx:latest /bin/bash
      • #删除容器
        • docker rm “CONTAINER ID”
      • #删除所有未启动容器
        • docker rm $(docker ps -a -q)
      • #杀死所有正在运行的容器.
        • docker kill $(docker ps -a -q)
      • #删除所有未打标签的镜像.
        • docker rmi $(docker images -q -f dangling=true)
      • #删除所有已经停止的容器和未打标签的镜像.
        • dockercleanc || true && dockercleani
      • #基于现有容器创建镜像
        • docker commit “CONTAINER ID” “new PEPOSITORY”:”new TAG”
      • #将镜像保存到本地
        • docker save -o new_name.tar.gz “PEPOSITORY”:”TAG”
      • #拷贝容器内文件到主机
        • docker cp 容器ID:容器内路径 主机路径
      • #从本地文件导入镜像
        • docker load -i name.tar.gz
      • 基于Dockerfile文件创建
        • 先创建一个名为dockerfile #必须为这个名字 的文件并且写入参数
          [root@cicd~]# cat /root/dockerfile
          FROM centos:7
          RUN yum install -y vim
          ​copy hello.txt /root/
          • 常用指令
            FROM:指定 base 镜像。

            ​MAINTAINER:设置镜像的作者,可以是任意字符串。

            ​COPY:将文件从 build context 复制到镜像。
            COPY 支持两种形式:
            COPY src dest
            COPY [“src”, “dest”]
            注意:src 只能指定 build context 中的文件或目录。

            ​ADD:与 COPY 类似,从 build context 复制文件到镜像。不同的是,如果 src 是归档文件(tar, zip, tgz, xz 等),文件会被自动解压到 dest。

            ​ENV:设置环境变量,环境变量可被后面的指令使用。例如:

            ENV MY_VERSION 1.3
            RUN apt-get install -y mypackage=$MY_VERSION

            ​EXPOSE:指定容器中的进程会监听某个端口,Docker 可以将该端口暴露出来。我们会在容器网络部分详细讨论。

            ​VOLUME:将文件或目录声明为volume。

            WORKDIR:为后面的 RUN, CMD, ENTRYPOINT, ADD 或 COPY 指令设置镜像中的当前工作目录。

            ​RUN:在容器中运行指定的命令,RUN指令通常用于安装应用和软件包。

            ​CMD:容器启动时运行指定的命令。

            ​Dockerfile 中可以有多个 CMD 指令,但只有最后一个生效。CMD 可以被 docker run 之后的参数替换。

            ​ENTRYPOINT:设置容器启动时运行的命令,可让容器以应用程序或者服务的形式运行。

            ​Dockerfile 中可以有多个 ENTRYPOINT 指令,但只有最后一个生效。CMD 或docker run 之后的参数会被当做参数传递给 ENTRYPOINT。

        • 然后创建images
          [root@cicddocker]# docker build -t centostest /root/docker/ 绝对路劲
          或者:docker build -t centostest . 当前路劲

          ​build:创建镜像
          -t:为镜像指定名字
          .:指明 build context 为当前目录,我们也可以通过 -f 参数指定 Dockerfile 的位置

  •  

 

请登录后发表评论

    没有回复内容