Win10使用Docker快速準備Java相關的開發環境
Docker 指令說明:
- 用法:docker [OPTIONS]命令
-
- 容器的自足運行時
-
- 選項:
- --config string客戶端配置文件的位置(默認值
- “C:\\ \\用戶\\管理員泊塢窗”)
- -D, - debug啓用調試模式
- -H, - 主機列表要連接的守護程序套接字
- -l, - log-level string設置日誌記錄級別
- ( “調試” | “信息” | “警告” | “錯誤” | “致命”)
- (默認“信息”)
- --tls使用TLS;由--tlsverify暗示
- --tlscacert字符串僅由此CA簽名的信任證書(默認值
- “C:\\ \\用戶\\管理員泊塢窗\\ ca.pem”)
- --tlscert string TLS證書文件的路徑(默認值
- “C:\\ \\用戶\\管理員泊塢窗\\ cert.pem”)
- --tlskey string TLS密鑰文件的路徑(默認值
- “C:\\ \\用戶\\管理員泊塢窗\\ key.pem”)
- --tlsverify使用TLS並驗證遠程
- -v, - version打印版本信息並退出
-
- 管理命令:
- config 管理Docker配置
- container 管理容器
- image 管理圖像
- network 管理網絡
- node 管理Swarm節點
- plugin 管理插件
- secret 管理Docker的祕密
- service 管理服務
- stack管理Docker堆棧
- swarm管理Swarm
- system 管理Docker
- trust管理對Docker鏡像的信任
- volume 管理卷
-
- 命令:
- attach 將本地標準輸入,輸出和錯誤流附加到正在運行的容器
- build 從Dockerfile構建映像
- commit 從容器的更改創建新圖像
- cp 在容器和本地文件系統之間複製文件/文件夾
- create 創建一個新容器
- diff 檢查容器文件系統上的文件或目錄的更改
- events 從服務器獲取實時事件
- exec 在正在運行的容器中運行命令
- export 將容器的文件系統導出爲tar存檔
- history 顯示圖像的歷史記錄
- images 列出圖像
- import從tarball導入內容以創建文件系統映像
- info顯示系統範圍的信息
- inspect 返回Docker對象的低級信息
- kill殺死一個或多個正在運行的容器
- load從tar存檔或STDIN加載圖像
- login 登錄Docker註冊表
- logout 從Docker註冊表註銷
- logs 獲取容器的日誌
- pause 暫停一個或多個容器中的所有進程
- port 列出端口映射或容器的特定映射
- ps 列出容器
- pull 從註冊表中提取圖像或存儲庫
- push 將映像或存儲庫推送到註冊表
- rename 重命名容器
- restart 重新啓動一個或多個容器
- rm 移除一個或多個容器
- rmi 刪除一張或多張圖像
- run 在新容器中運行命令
- save 將一個或多個圖像保存到tar存檔(默認情況下流式傳輸到STDOUT)
- search 在Docker Hub中搜索圖像
- start 啓動一個或多個已停止的容器
- stats 顯示容器資源使用情況統計信息的實時流
- stop 一個或多個正在運行的容器
- tag 創建引用SOURCE_IMAGE的標記TARGET_IMAGE
- top 顯示容器的運行進程
- unause 取消暫停一個或多個容器中的所有進程
- update 更新一個或多個容器的配置
- version 顯示Docker版本信息
- wait 阻止,直到一個或多個容器停止,然後打印退出代碼
-
- 運行'docker COMMAND --help'以獲取有關命令的更多信息。
Docker for Mysql5.7
- ==============本地路徑映射到docker容器路徑下====
- # 下載 mysql
- docker pull mysql:5.7
-
- # 運行容器:
- docker run -p 3306:3306 --name mysql5.7 -v D:\DockerWorkspace\mysql\conf:/etc/mysql/conf.d -v D:\DockerWorkspace\mysql\logs:/logs -v D:\DockerWorkspace\mysql\data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=root -d mysql:5.7
-
- # 進入容器:
- docker exec -it mysql5.7 bash
-
- #登錄mysql
- mysql -u root -p
- ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';
-
- #添加遠程登錄用戶
- CREATE USER 'boonya'@'%' IDENTIFIED WITH mysql_native_password BY 'boonya';
-
- GRANT ALL PRIVILEGES ON *.* TO 'boonya'@'%';
-
- # 客戶端連接測試
- boonya/boonya 的遠程賬號登錄。
Docker for Redis
- =================本地路徑映射到docker容器路徑下====
- # 下載 redis
- docker pull redis
-
- #運行容器:
- docker run -p 6379:6379 -v D:\DockerWorkspace\redis\data:/data -d redis redis-server --appendonly yes
-
- #連接進入容器
- docker exec -it container_id redis-cli
-
- # 進行簡單的測試
- 127.0.0.1:6379> set boonya "boonya"
- OK
- 127.0.0.1:6379> get boonya
- "boonya"
- 127.0.0.1:6379>
Docker for MongoDB
- =================本地路徑映射到docker容器路徑下====
- # 下載 mongodb
- docker pull mongo
-
- # 運行容器
- docker run --name mongo -p 27017:27017 -d mongo -v D:\DockerWorkspace\mongo\db:/data/db #(此處似有bug不能映射數據目錄)
- ====>若啓動失敗執行:
- docker run --name mongo -p 27017:27017 -d mongo
-
- # 進入容器操作
-
- docker exec -it container_id /bin/bash
-
-
- # mongo操作創建管理賬號
- mongo
-
- use admin
-
- db.createUser({user:"root",pwd:"root",roles:[{role:'root',db:'admin'}]}) //創建用戶,此用戶創建成功,則後續操作都需要用戶認證
-
- exit
-
- #測試管理賬號
- mongo 127.0.0.1/admin -uroot -p
-
- ==mongodb默認不需要用戶認證!
Docker for Apche
- =============本地路徑映射到docker容器路徑下====
- # 下載apache httpd
-
- docker pull httpd
-
- # 啓動容器
-
- docker run -p 80:80 -v D:\DockerWorkspace\apache\Web:/usr/local/apache2/htdocs/ -v D:\DockerWorkspace\apache\logs:/usr/local/apache2/logs/ -d httpd
-
- # 經驗證隱射工作靜態目錄apache比Nginx要簡單.可以實現靜態網站的部署
Docker for Tomcat
- ======================本地路徑映射到docker容器路徑下====
- # 下載tomcat
- docker pull tomcat
-
- #啓動容器
-
- docker run --name tomcat -p 8080:8080 -v D:\DockerWorkspace\tomcat\Web:/usr/local/tomcat/webapps/test -d tomcat
-
- #訪問http://host:8080/test進行驗證,具體需不需要別的子目錄可以直接在webapps這一級映射路徑.
Docker for Nginx
- ==============本地路徑映射到docker容器路徑下====
- # 下載 nginx
- docker pull nginx
-
- # 運行容器:
- docker run -p 90:80 --name nginx -v D:\DockerWorkspace\nginx\Web:/usr/share/nginx/html -v D:\DockerWorkspace\nginx\nginx.conf:/etc/nginx/nginx.conf -v D:\DockerWorkspace\nginx\logs:/var/log/nginx -d nginx
-
- #注意 本地需要nginx.conf配置
-
- # nginx內部對應的html地址位於/usr/share/nginx/html
-
- # nginx內部對應的配置文件地址位於/etc/nginx/nginx.conf
-
- # 下面是宿主機上nginx.conf的配置內容
-
- worker_processes 1;
- events {
- worker_connections 128;
- }
- http {
- include mime.types;
- default_type application/octet-stream;
- sendfile on;
- keepalive_timeout 65;
-
-
-
- server {
- listen 80;
- server_name localhost;
- location / {
- #替換下面的地址爲您網頁目錄地址
- root /usr/share/nginx/html;
- index index.html index.htm;
- }
- error_page 500 502 503 504 /50x.html;
- location = /50x.html {
- root html;
- }
- }
- }
注意:使用過的宿主端口號不能重複使用,但容器的端口可以是默認監聽的,如80端口,在Apache和Nginx都可以是80.
下載DockerWorkspace目錄
如果需要DockerWorkspace所有目錄下載地址:https://download.csdn.net/download/boonya/10646844