这是我参与更文挑战的第10天,活动详情查看:更文挑战
一、Docker概念
-
容器:存放东西的地方,偏向于网站,程序,系统环境等
-
区别:
- 物理机:
- 虚拟机:
- 虚拟机技术虚拟出一套硬件,在其上面运行一个完整的操作系统,该系统上再运行所需应用进程。
- 容器:
- 容器虚拟化的是操作系统,而不是硬件,容器之间共享一套操作系统资源;
- 容器内的应用程序直接运行与宿主的内核,容器没有自己的内核,也没有进行硬件虚拟;
- 容器相对虚拟机隔离级别更低;容器更容易一移植。
-
【容器】:
- 一个应用层抽象,用于将代码和依赖资源打包在一起。 多个容器可以在同一台机器上运行,共享操作系统内核,但各自作为独立的进程在用户空间中运行 。
- 与虚拟机相比, 容器占用的空间较少(容器镜像大小通常只有几十兆),瞬间就能完成启动 。
-
【虚拟机】:
- 是一个物理硬件层抽象,用于将一台服务器变成多台服务器。
- 管理程序允许多个VM在一台机器上运行。每个VM都包含一整套操作系统、一个或多个应用、必要的二进制文件和库资源,因此占用大量空间。而且VM启动也十分缓慢 。
-
【虚拟机与容器对比】:
- 传统虚拟机技术是虚拟出一套硬件后,在其上运行一个完整操作系统,在该系统上再运行所需应用进程;
- 而容器内的应用进程直接运行于宿主的内核,容器内没有自己的内核,而且也没有进行硬件虚拟。
二、安装
三、常用命令
$ systemctl start docker #运行Docker守护进程
$ systemctl stop docker #停止Docker守护进程
$ systemctl restart docker #重启Docker守护进程
$ service docker start #运行Docker守护进程
$ service docker stop #停止Docker守护进程
$ service docker restart #重启Docker守护进程
$ docker version #查看docker版本
$ docker images //查看镜像 查看所有已下载镜像,等价于:docker image ls 命令
$ docker container ls //查看所有容器
$ docker rmi imagesId //删除镜像
$ docker ps // 查看所有正在运行容器
$ docker ps -a // 查看所有容器
$ docker ps -a -q // 查看所有容器ID
$ docker stop containerId // containerId 是容器的ID
$ docker stop (docker ps -a -q) // stop停止所有容器
$ docker rm (docker ps -a -q) // remove删除所有容器
$ docker exec -it springboot bash 进入镜像
$ docker image prune // 清理临时的、没有被使用的镜像文件。-a, --all: 删除所有没有用的镜像,而不仅仅是临时文件;
$ docker search //搜索 Docker Hub 中的镜像
四、常用软件安装
1.Docker部署SpringBoot项目
- 参考地址:www.jianshu.com/p/397929dbc…
- 步骤:
- 1.创建springboot项目
- 2.打包springboot项目为jar包
- 3.编写Dockerfile文件
- 4.部署文件
- 5.制作镜像
- 6.启动容器 (未完待续...)
2.Docker 安装rabbitmq
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 -v `pwd`/data:/var/lib/rabbitmq --hostname myRabbit -e RABBITMQ_DEFAULT_VHOST=my_vhost -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin df80af9ca0c9
#方式一:默认guest 用户,密码也是 guest
docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq:management
#方式二:设置用户名和密码
docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=user -e RABBITMQ_DEFAULT_PASS=password -p 15672:15672 -p 5672:5672 rabbitmq:management
3.Docker 安装redis
- 安装redis并映射配置文件:
docker run -p 6378:6379 --name redis01 -v /root/redis/redis01/conf/redis.conf:/etc/redis/redis.conf -v /root/redis/redis01/data:/data -d redis redis-server /etc/redis/redis.conf --appendonly yes