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