Docker 容器支持SFTP上傳文件

使用鏡像啓動容器:

$ docker run -itd --restart=always --privileged=true --net='bridge' --name kooi -p 80:80 -p 25770:25770 -p 22000:22 192.168.0.77:5000/mmox:env /sbin/init

注:

-p: 指定端口映射,格式爲:主機(宿主)端口:容器端口
-p 22000:22 將宿主機的22000映射到容器的22 端口 ,內網SFTP上傳代碼到容器裏面
( 或者使用 -v 目錄映射,直接SFTP上傳文件到宿主機目錄下)

容器內安裝ssh服務:

1. 進入docker:
 $ docker exec -it kooi /bin/bash
2. 安裝ssh服務:
$ yum install -y openssh-server
3. 啓動ssh服務:
 $ systemctl start sshd
4. 查看22端口SSH服務是否啓動:
# netstat -lnpt | grep 22
tcp   0      0 0.0.0.0:22    0.0.0.0:*    LISTEN   717/sshd  
tcp6  0      0 :::22            :::*      LISTEN   717/sshd 
5. 創建FTP用戶:
 $ useradd -d /home/user_ftp -g users -m user_ftp
6. 設置FTP用戶的密碼:
$passwd user_ftp

SFTP登錄宿主機,進入docker:

SFTP連接宿主機 ip:22000,用戶user_ftp登錄docker,上傳文件。

如果宿主機有多個docker環境,使用端口區分開

ex: docker run ... -p 22000:22
ex: docker run ... -p 22001:22


注:

網上有教程,容器啓動後還可以改端口映射,
ex, 修改hostconfig.json,config.v2.json等文件。
是不科學的。
最快的辦法是docker commit新構鏡像,用這個新的鏡像重起一個容器。
最硬核的辦法是刪掉容器,檢查好端口映射,啓動一個新容器。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章