一、docker toolbox安裝
- 下載docker:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/ 學習使用建議下載最新版本的ce,社區版本。
- 安裝完後運行 Docker Quickstart Terminal 客戶端,如果起不來,是git地址沒配置對目錄。
- docker version 查看Docker版本,如果版本低了更新版本,docker-machine upgrade
啓動
第一次運行Docker Quickstart Terminal時會進行Docker環境的初始化,會在VirtualBox中自動創建名字爲【default】的linux虛擬機,再此過程中會用到boot2docker.iso鏡像文件。默認情況下,啓動程序會從GitHub上下載此文件的最新版,但由於文件相對較大且速度不給力,多數情況下會下載失敗,造成Docker環境無法啓動。 解決方法: 其實DockerToolbox安裝文件自帶了boot2docker.iso鏡像文件,位於安裝目錄下(如C:\developprogram\Docker Toolbox) ,將此文件拷至C:\Users\ThinkPad.docker\machine\cache目錄下,然後在網絡斷開的情況下重新啓動,便可初始化成功。 其中 【192.168.99.100】是VirtualBox中名字爲【default】虛擬機的ip地址。
利用Xshell登錄
1.執行 docker-machine ls 查看虛擬機地址:192.168.99.101
$ docker-machine ls
NAME ACTIVE DRIVER STATE URL SWARM DOCKER ERRORS
default * virtualbox Running tcp://192.168.99.101:2376 v18.09.9
-
default虛擬機的默認用戶名和密碼
用戶名:docker 密碼: tcuser
更改虛擬磁盤存儲位置
- 虛擬機的默認存儲位置是: C:\Users\ThinkPad.docker\machine\machines
- 停止default虛擬機:docker-machine stop default
- 通過Oracle VM VirtualBox【管理】-》【虛擬介質管理】界面對虛擬磁盤進行復制
- 需要注意虛擬磁盤類型的選擇 VMDK(虛擬機磁盤)
- 選取複製生成的disk_2.vmdk,刪除disk.vmdk.
二、docker toolbox 命令
-
docker-machine ls 當前的Docker虛擬機的狀態
-
docker-machine stop default 停止運行中的虛擬機
-
docker-machine start/restart default 啓動或者重啓虛擬機
-
docker-machine rm default 刪除docker虛擬機
-
docker-machine create --engine-registry-mirror=https://ois8mbfx.mirror.aliyuncs.com -d hyperv default 創建docker虛擬機並且注入阿里雲加速器,阿里雲加速器地址:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
-
docker-machine env default 獲得虛擬機的環境變量
更多命令請查看幫助:docker-machine
三、鏡像容器管理:
-
docker images 查看當前虛擬機有哪些已下載鏡像
-
docker ps –a 當前運行的有哪些容器
-
docker search ubuntu 搜索容器的鏡像
-
docker pull ubuntu 、docker pull mysql 從加速器或者官網下載docker容器
-
docker run -it ubuntu( docker run -it ubuntu:latest) 運行已下載鏡像
-
docker stop container-id 停止運行docker容器
-
exit 退出容器
-
docker rm 刪除容器
-
docker rmi 刪除鏡像image
-
docker info
-
docker logs -f f52f8572e15b 查看 WEB 應用程序日誌
-
docker inspect f52f8572e15b 使用 docker inspect 來查看 Docker 的底層信息。它會返回一個 JSON 文件記錄着 Docker 容器的配置和狀態信息
-
docker exec -it f52f8572e15b /bin/bash 進入已經存在的docker容器
更多命令請查看幫助:docker
mysql:操作:
- docker pull mysql:5.7 下載 mysql
- docker run --name mymysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_DATABASE=mysql -d mysql:5.7 啓動
- docker exec -it mymysql bash 進入容器
- mysql -u root -p123456 登錄mysql
其他(Nginx、php、redis、apache等)使用請參照doker教程:https://www.runoob.com/docker/docker-tutorial.html
四、push鏡像到遠程倉庫(國內使用阿里雲,你懂滴)
- 根據已存在容器創建鏡像:
docker commit -m="first image" -a="akkadian" 83ba96c1700d akkadian/mysql:5.7
上面命令參數說明:
* -m 提交的描述信息
* -a 指定鏡像作者
* 83ba96c1700d 記住這個是容器id,不是鏡像id
* akkadian/mysql:5.7 創建的目標鏡像名
- 從Registry中拉取鏡像
$ sudo docker pull registry.cn-beijing.aliyuncs.com/akkadian/mysql-test:[鏡像版本號]
- 將鏡像推送到Registry
docker login --username=xxxx registry.cn-beijing.aliyuncs.com
docker tag [ImageId] registry.cn-beijing.aliyuncs.com/akkadian/mysql-test:[鏡像版本號]
docker push registry.cn-beijing.aliyuncs.com/akkadian/mysql-test:[鏡像版本號]
example:
tag 6ece2a1e5451 registry.cn-beijing.aliyuncs.com/akkadian/mysql-test:5.7
docker push registry.cn-beijing.aliyuncs.com/akkadian/mysql-test:5.7