Docker知识点2

docker

Docker知识点2

1.设置容器的端口映射

  • docker run -p 80 -it [镜像id] /bin/bash
  • docker run -p 8080:80 -it [镜像id] /bin/bash

2.部署Nginx

  1. 创建守护式容器 并映射容器的80端口
    • docker run -p 80 -it [镜像id] /bin/bash
  2. 进入容器 安装nginx和vim
  3. 修改index.html文件
  4. 运行nginx命令 启动服务
  5. ctrl+p+q退出容器
  6. 使用curl命令访问

3.Docker的镜像和仓库

  • 列出镜像:docker images

  • 查看镜像:docker inspect

  • 删除镜像:docker rmi

  • 拉取镜像:docker pull [OPTIONS(-a 拉取所有的镜像)] 镜像名 [:TAG]

  • 推送镜像:docker push 镜像名

  • 构建镜像

    • 容器构建:docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

      步骤:
      		1.创建一个容器并安装nginx服务
      		docker run -it --name nginx-61  -p 80 centos /bin/bash
      		2.在容器内部安装nginx,和之前步骤一样
      		3.提交镜像.
      		docker commit -a 'maomao' -m 'nginx_build' nginx-61 4d636232ea55
      		4.通过docker images命令可以看到我们刚构建的镜像.
      		5.接下来我们就可以使用自己定义的镜像来启动容器.
      		docker run -d  -p 80 wolfcode/nginx:v1.1 /usr/sbin/nginx -g "daemon off;"
      
    • Dockerfile文件构建:docker build [OPTIONS] PATH|URL|-

      步骤:
      	1.在宿主机中,我们创建存放Dockerfile文件的目录和Dockerfile文件.
      	    mkdir -p ~/61/01
      	    cd ~/61/01
      	    vi Dockerfile
      	2.编写Dockfile文件
      	   FROM centos:centos7.9.2009
             MAINTAINER maomao "maomaocong@sy.wolfcode.cn"
             RUN sed -i -e "s|mirrorlist=|#mirrorlist=|g" /etc/yum.repos.d/CentOS-*
             RUN sed -i -e "s|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g" /etc/yum.repos.d/CentOS-*
             RUN yum install -y epel-release
             RUN yum install -y nginx
             EXPOSE 80
      	3.使用build命令构建镜像.
      	    docker build -t='镜像名称' Dockerfile 所在的目录
      	    例如:
      	    docker build -t='wolfcode/60-01:2.0' ~/60/01/
      	4.通过我们构建好的镜像来创建容器.
      	    docker run -d -p 80 wolfcode/60-01 /usr/sbin/nginx -g "daemon off;"
      

4.Dockerfile的指令

  • FROM 构建当前镜像所基于的基础镜像
  • MAINTAINER:指定镜像的作者信息
  • RUN指定当前镜像中运行的命令
    • RUN (shell模式)
    • RUN [“executable”,”param1”,”param2”] (exec模式)
  • EXPOSE:指定运行该镜像的容器使用的端口
  • CMD:提供容器默认指令指令 可被覆盖
  • ENTRYPOINT:与CMD命令相似 但是不会被覆盖
  • ADD:将文件和目录复制到使用dockerfile构建的镜像中 目标来源可以是远程地址
  • COPY:同上 目标来源本地地址
  • VOLUME:基于镜像创建的容器添加卷
  • WORKDIR:在容器内部设置工作目录
  • ENV:设置环境
  • USER:指定镜像会以什么样的用户去执行
  • ONBUILD:镜像触发器 当一个镜像被另一个镜像视为基础镜像时

5.容器的数据管理(⭐)

数据卷(Data Volume)实现了数据的持久化,完全独立与容器的生命周期,独立于容器存在 和容器分离

特点:

  • 数据卷在容器启动时初始化,容器使用的镜像挂载点数据,会被拷贝到新初始化的数据卷中.
  • 数据卷可以容器之间共享和重用.
  • 可以对数据卷里的内容直接进行修改.

命令:

  • docker run -it -v ~/data:/data 镜像id /bin/bash

6.多容器管理

posted @ 2025-08-15 20:34  Charon-YC  阅读(12)  评论(0)    收藏  举报