美文网首页
docker学习

docker学习

作者: 河神 | 来源:发表于2020-05-31 13:38 被阅读0次
    • 安装
    yum install docker-io –y
    systemctl start docker
    docker info
    
    • 命令
      docker [run|start|stop|restart|kill|rm|pause|unpause]             
      #容器生命周期管理
      docker [ps|inspect|top|attach|events|logs|wait|export|port]       
      #容器操作运维
      docker [commit|cp|diff]                                           
      #容器rootfs命令
      docker [login|pull|push|search]
      #镜像仓库
      docker [images|rmi|tag|build|history|save|import]
      #本地镜像管理
      docker exec -ti $1 /bin/bash
      #进入docker容器内部
    
    • 简单使用
    docker search 镜像名称
    docker images
    
    docker pull image_name
    docker pull image_name:tag
    #image_name:表示镜像的仓库源名称,TAG:镜像的标签 如果不指定tag 那么默认用最新的
    
    docker rmi 镜像名称/镜像ID
    docker rmi -f 镜像名称/镜像ID
    #强制删除 如果镜像有容器在运行 那么就需要强制删除 增加 -f 参数
    
    docker run -d --name "xiaoxiao" -p 5672:5672 -p 15672:15672 -v /home/dock/Downloads:/usr/Downloads:ro  rabbitmq:management
                #-d 后台运行
                #-p 端口映射 (可以有多个 因为该镜像可能存在多个端口)
                #通过-v参数,冒号前为宿主机目录,必须为绝对路径,冒号后为镜像内挂载的路径。默认挂载的路径权限为读写。如果指定为只读可以用:ro
                #rabbitmq:management  (格式 REPOSITORY:TAG),如果不指定tag,默认使用最新的
                #--name  给该容器取个名字
      
      
    
    • 数据卷

    Docker管理宿主机文件系统的一部分,默认位于 /var/lib/docker/volumes 目录中;

     docker volume create edc-nginx-vol // 创建一个自定义容器卷
     docker volume ls // 查看所有容器卷
     docker volume inspect edc-nginx-vol // 查看指定容器卷详情信息
    
     #使用 -v edc-nginx-vol:/usr/share/nginx/html 在run容器的时候就可以把数据卷挂载 
     
     docker stop edc-nginx // 暂停容器实例
     docker rm edc-nginx // 移除容器实例
     docker volume rm edc-nginx-vol // 删除自定义数据卷 
    
    • tag
    docker commit -m '测试' -a 'heShen' 35f2d8da9f3a heshentest:v1
    
    // 其中,-m 来指定提交的说明信息,跟我们使用的版本控制工具一样;-a 可以指定更新的用户信息;
    //之后是用来创建镜像的容器的 ID;最后指定目标镜像的仓库名和 tag 信息。创建成功后会返回这个镜像的 ID 信息。
    //使用 docker images 来查看新创建的镜像。
    
    • 保存镜像为文件
    //保存镜像为文件
    docker save -o 要保存的文件名  要保存的镜像
    
    //从文件载入镜像
    docker load --input 文件
    docker load < 文件名
    
    
    • Dockerfile使用
    1. 新建 Dockerfile 文件
    2. 添加
        FROM nginx
        #FROM:定制的镜像都是基于 FROM 的镜像,这里的 nginx 就是定制需要的基础镜像。后续的操作都是基于 nginx
        RUN echo '这是一个本地构建的nginx镜像' > /usr/share/nginx/html/index.html
        #RUN:用于执行后面跟着的命令行命令
    3. docker build -t nginx:test .
        # 构建镜像,最后的 . 代表本次执行的上下文路径,
    
    
    
    1. RUN使用:
    RUN <命令行命令>
     <命令行命令> 等同于,在终端操作的 shell 命令。
    RUN ["可执行文件", "参数1", "参数2"]
     例如:
     RUN ["./test.php", "dev", "offline"] 等价于 RUN ./test.php dev offline
    
    1. 上下文路径
    上下文路径,是指 docker 在构建镜像,有时候想要使用到本机的文件(比如复制),docker build 命令得知这个路径后,会将路径下的所有内容打包。
    
    解析:由于 docker 的运行模式是 C/S。我们本机是 C,docker 引擎是 S。
    实际的构建过程是在 docker 引擎下完成的,所以这个时候无法用到我们本机的文件。这就需要把我们本机的指定目录下的文件一起打包提供给 docker 引擎使用。
    
    如果未说明最后一个参数,那么默认上下文路径就是 Dockerfile 所在的位置。
    
    注意:上下文路径下不要放无用的文件,因为会一起打包发送给 docker 引擎,如果文件过多会造成过程缓慢。
    

    相关文章

      网友评论

          本文标题:docker学习

          本文链接:https://www.haomeiwen.com/subject/rxglzhtx.html