Docker基本使用

167 阅读3分钟

这是我参与更文挑战的第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

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

参考链接: