1、部署環境
普通物理機一台(6g記憶體,500g硬碟),windows server 2016作業系統。
安裝vmware workstation pro14,新建centos 7虛擬機器。
2、在centos 7虛擬機器中安裝docker、建立容器、在容器中安裝pure-ftp
2.1、禁用selinux
#vi /etc/selinux/configselinux有以下三種設定,設定為第一種
selinux=disabled
selinux=enforcing
selinux=permissive
2.2、安裝docker
#yuminstall
docker
#systemctl start docker.service
#systemctl enable docker.service
#docker images檢視本機映象
#docker pull centos
#docker images
檢視本機映象
2.4、建立容器
#docker run -v /home/ftpdata:/containerftpdata -p 21:21 -p 48000-50000:48000-50000 -itd --privileged=true --name centos_ftp centos /usr/sbin/init建立容器
#docker run
-v /home/ftpdata:/containerftpdata --net=host -itd --privileged=true --name centos_ftp_host centos /usr/sbin/
init
指定host網路模式建立容器,無需埠對映,使用主機的網路堆疊,這種模式可以修改優化容器核心引數
#docker exec -it centos_ftp /bin/bash
進入容器
修改容器時間
# mvlocaltime localtime_bak
# cp /usr/share/zoneinfo/asia/shanghai /etc/localtime
2.5、在容器中安裝pure-ftp
第一步:安裝pure-ftp預設的
yum 源沒有提供 pure-ftpd,需要先安裝 epel 擴充套件源:
# yum
install epel-release
然後使用
yum 命令安裝pure-ftpd:
# yum
install pure-ftpd
第二步:修改配置檔案
# vi /etc/pure-ftpd/pure-ftpd.conf
去掉#注釋,指定路徑,puredb使用者資料庫檔案
puredb /etc/pure-ftpd/pureftpd.pdb
開啟日誌 /var/log/pureftpd.log
verboselog yes
拒絕匿名使用者登入
noanonymous yes
使用被動模式,並限制埠範圍
passiveportrange
48000
50000
刪掉注釋,並將192.
168.0
.1修改為當前伺服器的公網ip
forcepassiveip 替換為當前伺服器的公網ip
第三步:建立賬戶,配置許可權
新增ftp使用者組
# groupadd ftpgroup
#useradd -g ftpgroup -s /sbin/nologin -m ftpuser
建立目錄並配置目錄許可權
# mkdir /containerftpdata/替換為建立的目錄 -p
# chown ftpuser:ftpgroup /containerftpdata/替換為建立的目錄 -r
建立虛擬賬戶
# pure-pw useradd 替換為虛擬賬戶 -u ftpuser -d /containerftpdata/替換為建立的目錄
隨後會提示輸入這個虛擬使用者名稱的登入密碼
#pure-pw mkdb
第四步:啟動pure-ftpd
# systemctl enable pure-ftpd.service
# systemctl start pure-ftpd.service
2.6、安裝net-tools
#yuminstall net-tools
#netstat -lntp
檢視 21
埠是否開啟
#ps aux | grep
ftp檢視
ftp 程序
3、centos 7虛擬機器防火牆設定和修改優化容器核心引數
#firewall-cmd --permanent --add-port=21/tcp#firewall-cmd --permanent --add-port=48000-50000/tcp
#firewall-cmd --reload
#firewall-cmd --list-all
#yum
install net-tools
#netstat -lntp
如果指定host網路模式建立的容器,可在centos 7虛擬機器中調優核心引數,容器的核心引數也隨之生效
#vi /etc/sysctl.confnet.ipv4.tcp_keepalive_time = 30
#每30s傳送一次keepalive資料報
net.ipv4.tcp_keepalive_intvl = 10
#確定keepalive探針在第一次保持活動探測後每10s傳送一次
net.ipv4.tcp_keepalive_probes = 6
#超時前的探測次數
net.ipv4.tcp_fin_timeout = 300
#系統預設的超時時間
#sysctl -p
#reboot
4、路由器埠對映
21埠和48000-50000埠
Docker中部署Golang專案
參考 1.安裝docker 參考 2.預設你已經有乙個可以正常執行的golang專案了 比如叫project 啟動方式 go run main.go 參考 3.cd project touch dockerfile 4.dockerfile寫入 from golang 1.13 maintainer...
在docker中部署gitlab
docker pull gitlab gitlab ce 12.5.4 ce.0 2.在docker建立容器,讓gitlab跑起來 docker run d publish 8443 443 publish 10080 80 publish 1022 22 name gitlab restart a...
docker中部署django專案
docker pull ubuntu 15.10docker run itd name vth django v etc apt mnt vths v1.1 bin bash v的意思是把本地的目錄掛載到docker上。冒號之前是宿主機的目錄,冒號之後是docker的目錄。進入容器之後,把 mnt ...