Docker 搭建ftp服務器


1.拉取 鏡像

docker pull fauria/vsftpd



2.啟動容器

    在223服務器保存的  ftp服務地址   /mnt/data/ftp 

docker run -d -v /mnt/data/ftp:/home/vsftpd -p 20:20 -p 2121:21 -p 21100-21110:21100-21110 -e FTP_USER=myuser -e FTP_PASS=mypass -e PASV_ADDRESS=192.168.10.224 -e PASV_MIN_PORT=21100 -e PASV_MAX_PORT=21110 --name vsftpd --restart=always fauria/vsftpd 

執行時 會出現

docker: Error response from daemon: Conflict. The container name "/vsftpd" is already in use by container "0649a2c9fe3729f3ddeadf849ef299b1bcf8fa1406159f7e6c2b75f6a25ab319". You have to remove (or rename) that container to be able to reuse that name.
See 'docker run --help'.      執行 后 會發現  之前啟動失敗的容器還在  需要重新進行修改  將之前啟動失敗的容器刪除掉

docker ps –a  

docker rm   <查詢到的容器的id >    上邊查詢到的


3. 進入容器


docker exec -i -t vsftpd bash 進去docker

vi /etc/vsftpd/virtual_users.txt 編輯配置文件寫入用戶跟密碼

mkdir /home/vsftpd/user 建立新用戶文件夾

/usr/bin/db_load -T -t hash -f /etc/vsftpd/virtual_users.txt /etc/vsftpd/virtual_users.db 寫入數據庫

docker restart +(虛擬機運行的 imageId) 重啟服務 


重啟后訪問對應的 服務器 端口,便可以登錄 ftp 服務




docker  復制另外一個鏡像    啟動時啟動當前的tomcat  並重命名

docker run -d -p 8099:8080 -v /mnt/data/docker-file/FILE_MANAGE_PRJ:/usr/tomcat/webapps/     --name FILE_MANAGE_PRJ_tomcat  -d tomcat


docker 發布tomcat 項目單獨掛載到本地文件夾


執行命令   通過掛載方式   docker tomcat 發布當前將要發布的項目

docker run -d -v /mnt/data/docker-file/FILE_MANAGE_PRJ/FILE_MANAGE_PRJ:/usr/local/tomcat/webapps/FILE_MANAGE_PRJ     -p   10001:8080   file_tomcat

docker cp -a <Local-Machine-Path> <Container-ID>:<Container-Path>


docker 查考容器的長 id

docker inspect -f '{{.ID}}' python

docker  將文件夾 cp 到容器中

docker cp -a <Local-Machine-Path> <Container-ID>:<Container-Path>

docker cp -a /mnt/data/docker-file/FILE_MANAGE_PRJ/    93e9c5401015:/usr/local/tomcat/webapps/


docker運行容器

docker run -it --rm –p   10001:8080     file_tomcat

docker run -it --rm –p 10002:8080 file_tomcat


docker 后台啟動 ,不顯示日志 打印

docker run –d  -p 1001:8080 meihua_tomcat


docker 查看容器日志

docker logs -f -t --since="2018-10-10" --tail=100  meihua_tomcat

--since : 此參數指定了輸出日志開始日期,即只輸出指定日期之后的日志。

-f : 查看實時日志

-t : 查看日志產生的日期

-tail=10 : 查看最后的10條日志。

edu_web_1 : 容器名稱


項目     發布  

(*******使用已經啟動的容器***********)

將要發布的文件上傳到 對應的docker服務宿主計算機

/mnt/data/docker-file/ 項目名

將文件復制到的容器

docker cp -a /mnt/docker-file/項目名/    3a3478726679:/usr/local/tomcat/webapps/項目名/

將正在運行的 ,已經上傳文件的容器 編程成一個新的容器 

docker  commit  -m “提交容器注釋” –a  “容器作者”   <容器id/ 容器名稱>    <新的容器名稱>


啟動新的 docker 容器  (后台啟動 ,不顯示日志信息)

docker  run –d     -p  1003:8080     <新建的容器名稱 >


// 給將要運行的 容器起一個名字 方便后邊的  日志查看(*需要手動輸入,不然會報錯*)

                                                   重新命名容器名稱     將要運行的鏡像名稱/鏡像id  

docker run –itd   -p  10003:8080  --name changan    changan_tomcat 

    錯誤:

Unable to find image 'chagnan_tomcat:latest' locally
docker: Error response from daemon: pull access denied for chagnan_tomcat, repository does not exist or may require 'docker login'.

以上錯誤是在容器運行時已經存在運行的容器

      可以詳細查看  已經運行 過的容器 列表  docker ps –a  

    刪除掉重復名稱的  docker  image     刪除命令  docker  rm   <容器名稱>


根據啟動的容器的名稱 docker ps 中的name 查看 容器的日志信息   (查看日志信息)

docker logs –f  --tail=100  upbeat_perlman


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM