• Docker学习笔记-CentOS7镜像


    前言:

    环境:centos7.5 64 位

    正文:

    第一步:下载centos7镜像
    docker pull centos  
    
    第二步:建立centos7的容器
    sudo docker run --privileged --cap-add SYS_ADMIN -e container=docker -it --name my_centos -p 80:80  -d  --restart=always centos /usr/sbin/init  
    
    • --privileged 指定容器是否是特权容器。这里开启特权模式。
    • --cap-add SYS_ADMIN 添加系统的权限。否则系统很多功能都用不了的。
    • -e container=docker 设置容器的类型。
    • -it 启动互动模式。
    • --name 取别名 my_centos
    • -p 端口映射,把80端口映射到容器的80端口。
    • -d 放入后台
    • --restart=always 在启动时指定自动重启
    • /usr/sbin/init 初始容器里的centos。
    • 以上的参数是必需的。否则建立的centos容器不能正常使用和互动
    • 如果没有-it参数,容器会不停启动。
    • 如果没有初始化和特权等等的开关,就不能使用systemctl。所以,以上的开关和设置是一样不能少的。

    进入容器

    docker exec -it my_centos /bin/bash  
    

    容器的用户是root,如果要修改密码,要安装一些被精简掉的程序。如passwd,sudo等命令。

    第三步:commit制作镜像

    启动一个容器,对容器修改操作,会保存到容器的存储层,当容器销毁存储层也销毁。

    1.修改了容器的文件,即修改了容器的存储层,查看具体改动

    #我们可以看到具体改动
    docker diff my_centos
    

    2.commit保存修改成为镜像,镜像名字为my_centos:v2

    docker commit --author "hanfan" --message "创建了镜像" my_centos my_centos:v2
    

    3.查看my_centos:v2镜像修改历史

    docker history my_centos:v2
    
    第四步:推送到hub上

    1.登录hub

    docker login
    

    输入账号密码,登录成功。

    2.推送

    docker push my_centos:v2
    

    报错

    Error response from daemon: You cannot push a "root" repository. Please rename your repository to docker.io/<user>/<repo> (ex: docker.io/hanfan/my_centos)
    

    行吧,那就重新做一个镜像

    docker commit --author "hanfan" --message "创建了镜像" my_centos docker.io/hanfan/my_centos
    

    再次推送

    https://hub.docker.com/ 看一下
    avatar

    搞定

  • 相关阅读:
    个人项目(零)
    个人项目
    H5页面键盘弹出,遮挡输入框问题(转文)
    UEditor 使用setContent()遇到的奇葩问题
    限制textarea每行输入N个字符串
    权限管理简易实现
    使用git上传github遇到的问题
    跟随鼠标移动的遮罩层
    Web字体大揭秘
    @media的使用
  • 原文地址:https://www.cnblogs.com/hanfan/p/10148251.html
Copyright © 2020-2023  润新知