)
真正开发里Docker 最常干的事情其实就几个拉镜像 启动容器 查看容器 停止容器 删除容器 进入容器 查看日志掌握这些基本就能满足日常开发。一、Docker 工作流程先建立概念Docker 日常操作本质就三步镜像Image ↓ 创建容器Container ↓ 运行程序二、查看本地镜像dockerimages作用查看本机已有镜像输出REPOSITORY TAG IMAGE ID CREATED SIZE redis latest xxxxxxx 3 days ago 117MB mysql latest xxxxxxx 5 days ago 600MB三、下载镜像pull例如下载 Redisdockerpull redis下载 MySQLdockerpull mysql四、为什么 pull 后就能运行因为镜像本身就包含 程序 环境例如Redis镜像 已经自带Redis环境所以不用自己安装。五、运行容器最重要启动 Redisdockerrun redisDocker 会创建容器 ↓ 启动 Redis六、后台运行重点正常dockerrun redis终端会被占用。所以开发里一般dockerrun-dredis-d 是什么detached意思后台运行七、查看运行中的容器dockerps输出CONTAINER ID IMAGE COMMAND STATUS xxxxxx redis ... Up 10 minutes八、查看所有容器dockerps-a包括运行中的 已停止的九、容器名字重点默认Docker 会随机名字happy_cat busy_dog很乱。所以一般会dockerrun--namemyredis redis–name作用给容器取名字后面操作更方便。十、端口映射非常重要例如dockerrun-d-p6379:6379 redis什么意思宿主机端口 : 容器端口为什么必须映射Redis 在容器内部。如果不映射外面访问不到6379:6379表示电脑6379 ↓ 映射到 容器6379这样Go 程序localhost:6379才能连接。十一、查看容器日志dockerlogs 容器名例如dockerlogs myredis十二、持续查看日志类似tail -f命令dockerlogs-fmyredis十三、停止容器dockerstop 容器名例如dockerstop myredis十四、启动已停止容器dockerstart myredis十五、重启容器dockerrestart myredis十六、删除容器dockerrm容器名例如dockerrmmyredis十七、为什么删不掉如果容器正在运行无法删除必须先停止dockerstop myredis再删除。十八、强制删除dockerrm-fmyredis-f表示force 强制删除十九、删除镜像dockerrmi redis二十、进入容器重点很多时候需要进入容器内部例如看文件执行命令进入 Redis CLI命令dockerexec-itmyredisbash二十一、exec 是什么在容器内部执行命令二十二、-it 是什么这个新人非常容易懵。-i保持输入流-t开启终端合起来进入交互式终端二十三、为什么有时候 bash 不存在有些镜像非常轻量。没有bash这时候用dockerexec-itmyredissh二十四、进入 Redis 容器后可以redis-cli进入 Redis 命令行。二十五、查看容器详细信息dockerinspect 容器名例如dockerinspect myredis可以查看IP端口配置挂载二十六、容器自动删除dockerrun--rmredis–rm表示容器停止后自动删除适合临时测试二十七、数据卷重点如果直接删容器数据也没了所以需要数据持久化挂载目录dockerrun-d\-v/mydata:/data\redis什么意思宿主机目录 ↓ 映射到 容器目录这样容器删了数据还在。二十八、MySQL 最经典启动方式真实开发经常这样dockerrun-d\-p3306:3306\--namemysql\-eMYSQL_ROOT_PASSWORD123456\mysql二十九、-e 是什么环境变量例如MYSQL_ROOT_PASSWORD设置 MySQL 密码。三十、Docker 日常操作核心流程真正开发天天都在docker pull docker run docker ps docker logs docker exec docker stop docker rm循环。三十一、后端开发最常见容器你以后大概率天天开服务用途mysql数据库redis缓存nginx网关rabbitmq消息队列minio对象存储三十二、最后总结Docker 日常操作核心命令作用docker images查看镜像docker pull下载镜像docker run创建运行容器docker ps查看容器docker logs查看日志docker exec进入容器docker stop停止容器docker rm删除容器真正重要理解镜像是模板 容器是真正运行的程序开发里Docker 最大作用快速搭环境 统一环境 快速部署