Docker是一種虛擬化工具,它可以在一個(gè)Host操作系統(tǒng)上啟動(dòng)多個(gè)虛擬容器。這些容器間是隔離的,但是它們可以共享一些資源,比如磁盤空間、網(wǎng)絡(luò)連接和打印機(jī)等。下面介紹一下如何在Docker容器中共享打印機(jī)。
步驟一:安裝Docker
例如,在Ubuntu下安裝Docker的方式: $ sudo apt-get update $ sudo apt-get install docker.io $ sudo ln -sf /usr/bin/docker.io /usr/local/bin/docker $ sudo sed -i '$acomplete -F _docker docker' /etc/bash_completion.d/docker.io
步驟二:啟動(dòng)容器
$ sudo docker run -it ubuntu:latest
步驟三:安裝打印機(jī)驅(qū)動(dòng)
在容器中安裝打印機(jī)驅(qū)動(dòng)。以HP LaserJet P2055dn為例: $ sudo apt-get update $ sudo apt-get install hplip
步驟四:設(shè)置共享打印機(jī)
編輯CUPS的配置文件/etc/cups/cupsd.conf,打開共享打印機(jī)功能: $ sudo vi /etc/cups/cupsd.conf …. # Only listen for connections from the local machine. Listen localhost:631 Listen /var/run/cups/cups.sock # Show shared printers on the local network. Browsing On BrowseOrder allow,deny BrowseAllow all BrowseAddress uuunnn.bbb.ccc.ddd # 服務(wù)器的 IP 地址 BrowseHost uuunnn.bbb.ccc.ddd # 服務(wù)器的 IP 地址 BrowseLocalProtocols DNSSD,TCP …
步驟五:在容器中添加打印機(jī)
$ sudo apt-get update $ sudo apt-get install smbclient $ sudo smbpasswd -a root # 輸入密碼 $ sudo smbclient -L //uuunnn.bbb.ccc.ddd/ # 列出服務(wù)器共享的資源 # 輸入 root 的密碼 # 添加打印機(jī) $ sudo lpadmin -p laserjet -m drv:///hpcups.drv/hp-laserjet_p2055dn.ppd -E -v smb://uuunnn.bbb.ccc.ddd/HP_LaserJet_P2055dn -U root
到這里,就可以在容器中使用共享打印機(jī)了。例如,在容器內(nèi)打印文檔:
$ sudo lp -d laserjet test.text
需要注意的是,容器中必須安裝有打印機(jī)的驅(qū)動(dòng)程序,否則不能共享打印機(jī)。