Docker知识点2

Docker知识点2
1.设置容器的端口映射
- docker run -p 80 -it [镜像id] /bin/bash
- docker run -p 8080:80 -it [镜像id] /bin/bash
2.部署Nginx
- 创建守护式容器 并映射容器的80端口
- docker run -p 80 -it [镜像id] /bin/bash
- 进入容器 安装nginx和vim
- 修改index.html文件
- 运行nginx命令 启动服务
- ctrl+p+q退出容器
- 使用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模式)
- RUN
- EXPOSE:指定运行该镜像的容器使用的端口
- CMD:提供容器默认指令指令 可被覆盖
- ENTRYPOINT:与CMD命令相似 但是不会被覆盖
- ADD:将文件和目录复制到使用dockerfile构建的镜像中 目标来源可以是远程地址
- COPY:同上 目标来源本地地址
- VOLUME:基于镜像创建的容器添加卷
- WORKDIR:在容器内部设置工作目录
- ENV:设置环境
- USER:指定镜像会以什么样的用户去执行
- ONBUILD:镜像触发器 当一个镜像被另一个镜像视为基础镜像时
5.容器的数据管理(⭐)
数据卷(Data Volume)实现了数据的持久化,完全独立与容器的生命周期,独立于容器存在 和容器分离
特点:
- 数据卷在容器启动时初始化,容器使用的镜像挂载点数据,会被拷贝到新初始化的数据卷中.
- 数据卷可以容器之间共享和重用.
- 可以对数据卷里的内容直接进行修改.
命令:
- docker run -it -v ~/data:/data 镜像id /bin/bash

浙公网安备 33010602011771号