一、docker toolbox安装
- 下载docker:mirrors.aliyun.com/docker-tool… 学习使用建议下载最新版本的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虚拟机并且注入阿里云加速器,阿里云加速器地址:cr.console.aliyun.com/cn-hangzhou…
-
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教程:www.runoob.com/docker/dock…
四、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