Docker基础与初体验 | 青训营笔记

66 阅读2分钟

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 //看是否安装成功

image.png

  • 添加阿里云镜像加速
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

  1. 普通启动
docker run --name redis-go -d -p 6379:6379 redis
docker exec -it redis-go /bin/bash
redis-cli
  1. 挂载配置文件和数据目录
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