Docker使用笔记
后端程序员Docker武器库
考虑到在自己的设备上安装各种中间件的麻烦,以及后续的升级以及各种配置的问题,选择使用Docker进行中间件容器化是很不错的选择,而且也可以自己写一些小的工具发布出去来使用
以下介绍为 mac 环境下
安装 Docker
官网下载安装包直接安装即可
配置阿里云的镜像加速, 链接地址- [https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors]
Docker简介
Docker镜像和容器的区别
镜像可以理解为软件代码,容器理解为运行起来的程序
Docker镜像通过镜像ID进行识别。镜像ID是一个64字符的十六进制的字符串。但是当我们运行镜像时,通常我们不会使用镜像ID来引用镜像,而是使用镜像名来引用。要列出本地所有有效的镜像,可以使用命令 : docker images
镜像可以发布为不同的版本,这种机制我们称之为标签(Tag)。可以使用pull命令加上指定的标签:docker pull ubuntun:14.04
Docker容器可以使用命令创建,就像是运行了程序一样 : docker run [imagename]
我们可以用同一个镜像启动多个Docker容器,这些容器启动后都是活动的,彼此还是相互隔离的。我们对其中一个容器所做的变更只会局限于那个容器本身。
如果对容器的底层镜像进行修改,那么当前正在运行的容器是不受影响的,不会发生自动更新现象。
Docker常用命令
容器命令
docker container prune //删除所有孤立的容器
docker run //会根据镜像生成一个容器并运行
docker start/stop <容器名> //运行或者停止一个已经存在的容器
docker ps <容器名>
docker logs <容器名>
docker ps -a //查看所有的容器
docker rm -f id //可以删除一个容器
镜像命令
docker images //查看所有的镜像
docker pull <image> //下载镜像
docker search <image> //搜索镜像
docker rmi id //删除一个镜像
参数说明
-d , 后台运行容器
-e,设置环境变量
—expose/ -p 宿主端口:容器端口
--name , 指定容器的名称
--link,链接不同容器
-v ,宿主目录:容器目录,挂载磁盘卷
进入容器终端
docker exec -it [容器名称] /bin/bash
Docker安装 Redis
拉取redis镜像
docker pull redis
查看镜像是否下载好
docker images
默认配置运行
docker run --name redis -d -p 6379:6379 redis
更多的时候我们想要 redis 按照我们自定义的配置进行运行,按照如下操作即可
1.本地物理机建立好配置文件,这里为 /User/gulinfei/docker-data/redis/conf/redis.conf
2.创建容器时将本地配置文件映射进容器中
3.指定使用容器中的配置文件运行redis
//挂载本地的配置文件
-v /User/gulinfei/docker-data/redis/conf/redis.conf:/etc/redis/redis.conf
//指定使用容器中的配置文件 /etc/redis/redis.conf 运行redis
docker run --name redis -v /Users/gulinfei/docker-data/redis/conf/redis.conf:/etc/redis/redis.conf -d -p 6379:6379 redis /etc/redis/redis.conf
/User/gulinfei/docker-data/redis/conf/redis.conf 内容
databases 100 //设置redis的数据库有100个
Docker 安装 RabbitMQ
拉取rabbitmq镜像
docker pull rabbitmq
查看镜像是否下载好
docker images
默认配置运行
docker run -d -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin --name rabbitmq rabbitmq:management
Docker 安装 Mongo
拉取mongo镜像
docker pull mongo
查看镜像是否下载好
docker images
默认配置运行
docker run --name mongo -p 27017:27017 -v ~/docker-data/mongo:/data/db -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin -d mongo
这里我们将 mongo 的数据内容和我们的本机做了映射
Docker 安装 Nacos
拉取nacos镜像
docker pull nacos/nacos-server
查看镜像是否下载好
docker images
默认配置运行
docker run -e MODE=standalone --name nacos -d -p 8848:8848 nacos/nacos-server