现在docker火的程度已经不用再多说了,而且很多大型的互联网公司都已经把自己的项目部署到了docker上以方便运维人员的维护,例如某东。
作为一个java开发人员,不需要像运维人员那样对docker操作那么熟悉,但是如果能掌握一些的话,也是会给我们开发和部署带来极大的方便的。
1.下载
https://github.com/boot2docker/windows-installer/releases/latest
这个目前好像不支持win10
还有安装之前,记得在bios设置中把那个CPU虚拟化技术支持打开。
安装过程非常简单就是一直下一步,最后选择始终信任来自。。。的软件,安装通用串行总线控制器,然后重启电脑。
双击Boot2Docker start图表,然后docker -v
2.Docker镜像操作
镜像检索:docker search 镜像名例如:docker serach redis
镜像下载:docker pull 镜像名例如:docker pull redis
镜像列表:docker images
删除单个镜像:docker rmi image-id(通过镜像id删除)
删除所有镜像:docker rmi $(docker images -q)
补充:当我们要删除一个镜像的时候,一定要先删除镜像上的容器,否则镜像无法删除
3.Docker容器操作(运行中的容器其实是一个功能完备的Linux操作系统,所以我们可以像常规的系统一样登录并访问容器)
运行镜像为容器:docker run --name 容器名 -d 镜像名
容器列表:docker ps(运行着的容器)
所有容器:docker ps -a(所有的容器)
停止容器:docker stop 容器名/容器id
开始容器:docker start 容器名/容器id
删除容器:docker rm 容器id
删除所有容器:docker rm $(docker ps -a -q)
容器日志:docker logs 容器名/容器id
登录容器:docker exec -it 容器名/容器id bash
退出容器:exit或者Ctrl+D
4.端口映射
Docker容器中运行的软件所使用的端口,在本机和本机的局域网是不能访问的,所以我们需要将Docker容器中的端口映射到当前主机的端口上,
这样我们就能够访问该软件了。
以redis为例,映射容器的6379端口刀本机的6378端口,命令如下:
docker run -d -p 6378:6379 --name 新容器名 镜像名
执行完之后又会出现一个新的redis镜像的容器。
注意!我这里的本机是运行在我windows 上的那个虚拟机,并不是我自己的这台电脑。所以我们还需要再做一次端口的映射。
将虚拟机的6378端口再映射到我用的电脑上。
最后再提示一下,从那个docker.io上pull镜像特别的慢,还老不成功,需要反复多尝试几次,有时候需要尝试10次左右才成功。一种方式是
输入boot2docker ssh进入虚拟机操作,操作完了再exit出来。还有一种方式是使用阿里的docker仓库,怎么配置就自行百度吧,配置过程有点小麻烦。
https://dev.aliyun.com/search.html
Docker对镜像的管理类似于git,Docker有DockerHub