首页 帮助中心 美国云服务器 Docker上如何定制CentOS7镜像?
Docker上如何定制CentOS7镜像?
时间 : 2023-02-21 09:19:45 编辑 : 华纳云 阅读量 : 139

环境:CentOS 7.5 64 位

正文:

第一步:下载CentOS 7镜像

docker pull centos

第二步:建立CentOS 7的容器

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

华纳云 推荐文章
IIS6中怎么配置PHP?具体方法如下 怎么才能IIS服务器支持.apk文件下载? 在Ubuntu 系统中怎么切换多个 PHP 版本 通过IP安全策略 WIN2003禁止PING Linux Progress命令使用实例 CentOS 7 中创建RAID6磁盘阵列 Apache2与PHP5 for WinXP简单配置技巧 IIS常见问题与错误及其解决方案 windows2003 服务器安全配置的建议 Linux中使用正则表达式的命令
客服咨询
7*24小时技术支持
技术支持
渠道支持