SpringBoot系列—docker安装使用(windows 7)
Docker是一个轻量级容器技术,类似于虚拟机技术。docker是直接运行在当前操作系统(linux)之上,而不是虚拟机中,但是也实现了虚拟机技术的资源隔离,性能远远高于虚拟机技术。Docker支持将一个软件编译成一个镜像(image),在这个镜像里做好对软件的各种配置,然后发布这个镜像,使用者可以运行这个镜像,运行中的镜像称之为容器(container),容器的启动时非常快的,一般都是以秒为
Docker概述
Docker是一个轻量级容器技术,类似于虚拟机技术。docker是直接运行在当前操作系统(linux)之上,而不是虚拟机中,但是也实现了虚拟机技术的资源隔离,性能远远高于虚拟机技术。
Docker支持将一个软件编译成一个镜像(image),在这个镜像里做好对软件的各种配置,然后发布这个镜像,使用者可以运行这个镜像,运行中的镜像称之为容器(container),容器的启动时非常快的,一般都是以秒为单位。目前主流的软件以及非主流的软件都有人将其封装成docker镜像,我们只需下载docker镜像,然后运行这个镜像就可以快速的获得已做好配置可运行的软件。我们常用的redis,mongo,mysql,rabbitmq,使用docker后我们将不再手动下载配置这些软件。
windows环境下安装
因为docker的运行原理是基于Linux的,所以docker只能运行在Linux上。windows和mac系统安装docker时需要启动一个VirtualBox的虚拟机,在虚拟机里运行docker。
Boot2Docker 下载地址:https://github.com/boot2docker/windows-installer/releases,选择相应版本的docker-install.exe进行下载
完整版安装,所有选项全部选择,点击下一步知道安装完成,自动重启电脑后,桌面上会出现两个快捷方式:Boot2Docker Start和Oracle VM VirtualBox
选择dockerStart 启动docker,docker -v 验证版本
注意:有时候会出现 docker@localhost`s password:
不知道密码是是什么,参照其他博客或论坛有人提示输入以下命令可以解决,但是实在不晓得,这些命令从哪输入。。。
boot2docker stop
boot2docker download
boot2docker start
解决方案:
进入安装目录:C:\Program Files\Boot2Docker for Windows
先执行delete.sh脚本,然后执行start.sh脚本,经过等待docker启动了
命令行输入:boot2docker ssh
运行hello-world镜像:docker run hello-world,不存在会自动下载,下载完成再运行该命令
OK,安装完成
下载镜像并运行容器
docker pull image-name(例如 docker pull redis:2.1.18)
下载完的镜像有:
docker@boot2docker:~$ docker images
REPOSITORY(镜像名) | TAG(软件版本) | IMAGE ID (当前镜像的唯一标识) | CREATED(当前镜像创建时间) | VIRTUAL SIZE(当前镜像大小) |
hello-world | latest | f054dc87ed76 | 5 days ago | 1.84 kB |
rabbitmq | latest | c48da0152cd0 | 11 days ago | 177.1 MB |
mongo | latest | 9c790b19f694 | 3 weeks ago | 359.9 MB |
mysql | latest | 3d13bedcbf9d | 5 weeks ago | 407.3 MB |
redis | 2.8.21 | 1a721decd792 | 22 months ago | 109 MB |
运行镜像为容器的命令:
docker run -d -p 6379:6379 --name rediscontainer1 redis:2.8.21(一个镜像可以运行多个容器)
docker run --name first-mysql -p 3306:3306 -e MYSQL\_ROOT\_PASSWORD=123456 -d mysql
docker容器中运行的软件所使用的端口,在本机和本机的局域网是不能访问的,所以我们需要将docker容器中的端口映射到当前主机的端口上,这样我们就在本机和本机所在的局域网就可以访问该软件了。
目前windows下运行的docker其实是运行在VirtualBox虚拟机中的,即我们当前的本机并不是我们当前的开发机而是虚拟机,所以我们还需要做一次端口映射,将虚拟机的端口映射到当前的开发机。
常用命令
查看容器列表:
docker@boot2docker:~$ docker ps
CONTAINER ID(启动时生成的id) | IMAGE(该容器的镜像) | COMMAND(容器启动时调用的命令) | CREATED(容器创建时间) | STATUS(当前容器的状态) | PORTS(系统所用端口号) | NAMES(给容器定义的名称) |
79d5a24b508c | redis:2.8.21 | "/entrypoint.sh redi | 12 minutes ago | Up 12 minutes | 0.0.0.0:6379->6379/tcp | redis |
d01b42766a0d | mysql | "docker-entrypoint.s | 22 minutes ago | Up 22 minutes | 0.0.0.0:3306->3306/tcp | first-mysql |
删除容器:
单个:docker rm containerId
全部:docker rm $(docker ps -a -q)
容器stop后才可以删除
stop:docker stop containerId/containerName
删除镜像:
单个:docker rmi image-id
全部:docker rmi $(docker images -q)
查看日志:
docker logs container-name/container-id
更多推荐
所有评论(0)