针对打印服务CUPS的容器化学习实践。

  • 需要创建一个目录
  • 在目录内建立一个文件名为Dockerfile的文件和文件名为cupsd.conf的配置文件

Dockerfile

#使用原始镜像
FROM centos:6
#作者
MAINTAINER TBS
#使用阿里云yum源
RUN curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo && yum makecache
#安装cups及组件
RUN yum -y install cups cups-libs
#备份原始配置文件
RUN mv /etc/cups/cupsd.conf /etc/cups/cupsd.conf.bak
#将cupsd.conf文件复制到配置目录
COPY cupsd.conf /etc/cups/
#开放631端口
EXPOSE 631
#运行cups服务
CMD ["cupsd"]

配置文件cupsd.conf的修改

  • 其中修改了"Listen *:631",允许任何地址访问
  • 如下增加"Allow all"配置
# Restrict access to the server...
<Location />Order allow,denyAllow all
</Location># Restrict access to the admin pages...
<Location /admin>Order allow,denyAllow all
</Location># Restrict access to configuration files...
<Location /admin/conf>AuthType DefaultRequire user @SYSTEMOrder allow,denyAllow all
</Location>

构建镜像

docker build -t office-cups-centos6 .

构建过程

Sending build context to Docker daemon  6.656kB
Step 1/8 : FROM centos:6---> d0957ffdf8a2
Step 2/8 : MAINTAINER shark1985---> Using cache---> 27ecd3caf516
Step 3/8 : RUN curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-6.repo && yum makecache---> Using cache---> b1c6f3ba74d5
Step 4/8 : RUN yum -y install cups cups-libs---> Using cache---> 48e62c3cb9c7
Step 5/8 : RUN mv /etc/cups/cupsd.conf /etc/cups/cupsd.conf.bak---> Running in b916430865f1
Removing intermediate container b916430865f1---> 0bec467158d6
Step 6/8 : COPY cupsd.conf /etc/cups/---> 16187084007f
Step 7/8 : EXPOSE 631---> Running in e9644f736601
Removing intermediate container e9644f736601---> 3322999c070b
Step 8/8 : CMD ["cupsd"]---> Running in 9eec5c9fc7dd
Removing intermediate container 9eec5c9fc7dd---> 354c91defd47
Successfully built 354c91defd47
Successfully tagged office-cups-centos6:latest

查看镜像

docker images
REPOSITORY                   TAG                 IMAGE ID            CREATED             SIZE
office-cups-centos6          latest              354c91defd47        About an hour ago   487MB

使用镜像运行容器

docker run -d -p 631:631 office-cups-centos6:latest

查看容器

docker ps -a |grep office-cups-centos6:lateste63fc4ae54cc        office-cups-centos6:latest   "cupsd"                  2 weeks ago         Up 2 weeks                     0.0.0.0:631->631/tcpstoic_tesla

进入容器为root添加密码,才能管理CUPS

docker exec -it e63fc4ae54cc /bin/bash
[root@e63fc4ae54cc /]# passwd
通过https访问CUPS管理页面
https://ip:631/admin
使用前面的root账号和密码登录

转载于:https://blog.51cto.com/talk1985/2404986

CUPS-Centos6-dockerfile相关推荐

  1. CentOS6 下安装HP-LaserJet 1020打印机

    因为实验室有个多余的老服务器,所以近段时间想把老服务器做成打印机服务器,同时因为最近在学习linux,所以就像在CentOS6.3 上安装打印机驱动.因为是新手,所以走了不少弯路,今天终于把打印机安装 ...

  2. docker操作运行一步一步来

    环境:CentOS 6.5 64位 https://registry.hub.docker.com/ https://www.gitbook.com/book/yeasy/docker_practic ...

  3. linux网络打印机安装步骤,科学网—CentOS6.5上使用cups安装网络打印机 - 王敏玲的博文...

    今天尝试了在centos6.5系统上安装打印机,网上的教程很复杂,下面总结一下自己的安装步骤(附了相应的界面截图): 1. 首先用yum intall cups 服务. 2. 使用netstat 查看 ...

  4. Dockerfile创建Linux/CentOS6.x Nginx MySQL Tomcat PHP(LNMTP)镜像

    Dockerfile Dockerfile是实现自动构造镜像的工具,用户可以按照自己的需求定制私有镜像 环境介绍 CentOS6.x镜像 此为基础镜像,我们通过Dockerfile来创建一个包含自定义 ...

  5. Centos6/7下静默安装oracle10g

    Centos6/7下静默安装Oracle10g 远程安装oracle10g,通过网上资料,不断摸索成功安装.先在本地虚拟机Centos7上做实验,快照恢复快照恢复,安装了几十次成功之后,再在服务器Ce ...

  6. CUPS Share Printer

    系统版本 cat /etc/centos-release CentOS Linux release 6.0 (Final) 1.安装yum mount /dev/cdrom /mnt rpm -ivh ...

  7. Dockerfile基本语法

    Dockerfile的组成 Dockerfile分为四部分: 基础镜像信息 维护者信息 镜像操作指令 容器启动时执行指令 Dockerfile指令说明 FROM 格式为FROM <image&g ...

  8. CentOS6.3 Samba安装配置、多用户、加域

    CentOS6.3 Samba安装配置.多用户.加域 2013-09-09 20:24:27 标签:Samba AD samba 域 原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...

  9. Docker的安装和使用及dockerfile简单使用

    Docker的安装和使用及dockerfile简单使用 一.简介 Docker是一个基于go语言的开源的应用容器引擎,可以将开发者的应用及依赖包打包到一个可移植容器当中,然后发布到任何流行的Linux ...

  10. CentOS6.4安装Samba(匿名)共享服务器

    一.Samba简介 Samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,而SMB是Server Message Block的缩写,即为服务器消息块 ,SMB主要是作为Micro ...

最新文章

  1. 崔家桥计算机学校,汉寿县崔家桥中学
  2. 广度优先搜索练习之神奇的电梯
  3. postman 使用_Postman使用方法
  4. MyBatis全局配置文件MyBatis-config.xml代码
  5. rsyslog 日志管理服务
  6. Python循环遍历(cycle)
  7. ENTBOOST V2014.183 Linux发布,开源企业IM免费企业即时通讯
  8. 5.2.8.字符设备驱动代码实践1
  9. .NET性能系列文章二:Newtonsoft.Json vs System.Text.Json
  10. 通过描述系统的微分方程,判断系统是否为线性系统以及是定常系统还是时变系统
  11. 最近火爆的美团饿了么外卖cps分销裂变小程序搭建及推广秘籍(附搭建源码)
  12. b 站视频下载神器合集,支持电脑和手机端
  13. 测试内存条是否兼容软件,内存条不兼容有什么表现
  14. TalkingData :如何做到30分钟内完成对数十亿受众数据的分析 | 会员专栏
  15. 哈工大计算机系统大作业——程序人生-Hello’s P2P
  16. vs code常用的插件
  17. STM32模拟USB多点触控屏
  18. 中关村e谷为产业搭台:中关村论坛(空天专场)黑科技亮相现场
  19. 第一次看母亲细嚼慢咽地吃饭,欣慰还是心酸?
  20. Python开发App实战(一)-Kivy入门

热门文章

  1. ASP.net C# EVal关于前端绑定
  2. 控制方法只有相应权限才可执行
  3. 石、鋏、布~ 最疯狂的打斗场面,莫要错过,iphone手机游戏
  4. opencv笔记——cvCreateImage函数说明
  5. 【Android学习笔记】【Android开发环境搭建】安装JDK
  6. 列向量互信息计算通用MATLAB代码
  7. Python统计磁盘代码文件行数
  8. 【sklearn】有关数据归一化小结---fit_transform、fit、transform区别及其简单使用
  9. Arcpy 实现NDVI最大值合成/平均值合成
  10. 纯新手搭建VS2017+QT5.9.9+QGIS过程中的问题