Docker基础与初体验 | 青训营笔记
这是我参与「第三届青训营 -后端场」笔记创作活动的第3篇笔记
使用原因
在项目开发过程中需要使用到Redis作为缓存,为了方便,在Docker中模拟启动一个redis
Docker安装
- 安装需要的包:
yum install -y yum-utils
- 设置镜像仓库(阿里云):
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
- 更新yum软件包索引
yum makecache fast
- 启动Docker
systemctl start docker
docker version //看是否安装成功
- 添加阿里云镜像加速
vi /etc/docker/daemon.json
{
"registry-mirrors":["https://6kx4zyno.mirror.aliyuncs.com"]
}
- 重启服务
systemctl restart docker
Docker容器命令
1. 新建容器并启动
docker run [可选参数] image
参数说明:
- --name="NAME" 容器名字 用来区分容器
- -d 后台运行方式 -it 交互方式
- -p 指定容器端口 -p8080:8080
- -p ip:主机端口:容器端口
- -p 主机端口:映射容器端口(常用)
- -p 容器端口
**2. 查看正在运行的容器 **
docker ps
- docker ps 当前正在运行的
- docker ps -a 包括历史运行的
- docker ps -n=? 显示最近创建的容器
- docker ps -q 只显示容器的编号
- docker ps aq 组合使用 所有的容器的id
3. 退出容器
exit 停止并退出
Ctr +p +q 不停止退出
4. 删除容器
- docker rm 容器id // 运行的不能删除
- docker rm -f // 强制删除
- docker rm -f $(docker ps -aq) // 删除吧当前正在运行的所有容器
- docker ps -a -q | xargs docker rm //利用管道符删除
5. 启动和停止容器的操作
- docker start 容器id
- doxker restart 容器id // 重启
- docker stop 容器id //停止正在运行的
- docker kill 容器id //杀掉正在运行的
Docker 启动各种服务
Docker启动redis
- 普通启动
docker run --name redis-go -d -p 6379:6379 redis
docker exec -it redis-go /bin/bash
redis-cli
- 挂载配置文件和数据目录
docker run -itd -p 6379:6379 --name redis -v /conf/redis.conf:/etc/redis/redis.conf -v /data/redis/:/data redis redis-server /etc/redis/redis.conf
Docker 启动etcd
docker run -d --name Etcd-server --network app-tier --publish 2379:2379 --publish 2380:2380 --env ALLOW_NONE_AUTHENTICATION=yes --env ETCD_ADVERTISE_CLIENT_URLS=http://etcd-server:2379 bitnami/etcd:latest
Docker 启动rabbitmq
docker run -d -v /opt/rabbitmq/data:/var/lib/rabbitmq -p 5672:5672 -p 15672:15672 --name rabbitmq --restart=always --hostname myRabbit rabbitmq:3-management docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=center -e RABBITMQ_DEFAULT_PASS=123qwe -e RABBITMQ_DEFAULT_VHOST=center rabbitmq:management