docker基础学习总结

docker是一个快速安装部署的容器,快捷简单、可以隔离是他的优点

docker也拥有仓库:dockerhub,存储和管理镜像的平台

我们利用docker安装时就是在里面下载镜像,镜像不仅包含应用本身,还包含了其所需要的环境,配置,系统函数库

命令解读

docker run -d \
  --name mysql \
  -p 3306:3306 \
  -e TZ=Asia/Shanghai \
  -e MYSQL_ROOT_PASSWORD=123 \
  mysql

docker run创建并运行一个容器,-d让容器在后台运行

--name 为容器起名,唯一

-p 端口映射,将容器内的端口映射为机器上的端口,以便于外部链接(正常情况是不可以链接的)在集群的时候,宿主机的端口需保持唯一性,docker内的不需要

-e K=V环境变量

mysql 指定运行的镜像的名字 正常情况的命名规范是repository:tag(version,不写tag就是默认最新版本

常用命令

复制代码
docker pull # 下载
docker push # 上传
docker images # 查所有镜像
docker rmi # 删除指定镜像
docker build # 构建镜像
docker save # 保存镜像,保存为一个压缩包?
docker load # 加载保存的镜像
docker run/rm # 创建并运行容器/删除容器
docker start/stop # 运行一个stop / 停止一个run/start
docker ps # 查看当前容器的状态
docker logs # 查看容器的日志
docker exec # 进入容器内部
复制代码

数据卷volume 是一个虚拟目录:容器内目录与宿主内目录映射的桥梁

docker volume create # 创建数据卷
docker volume ls
docker volume rm
docker volume inspect # 查看数据卷详情
docker volume prune # 清除数据卷
docker run -v 数据卷:容器内目录 完成数据挂载,没有会自动创建,也就是说,创建完了的容器不能再挂载;当然,你在创建的时候不注明也会产生一个匿名卷(不建议使用匿名卷)

 

docker run -v 本地目录:容器内目录 可以直接实现本地目录挂载

注意:本地目录必须以./ 或者 / 开头,不然会被识别为数据卷

 

Dockerfile:文本文件,包含指令,用指令来说明要执行什么操作来构建镜像,以后docker可以通过dockerfile帮我们构建镜像

# 一些dockerfile的基本指令
from centos:7 # 指定基础镜像
env key value # 配置环境
copy ./a.jar /tmp # 拷贝本地目录到指定镜像目录
run # 执行shell命令,一般用于安装一些东西
expose 80 # 暴露端口,无实际作用
entrypoint java -jar a.jar # 镜像中应用启动的指令

 

docker build -t 镜像名:tag .(这个是指定dockerfile所在的目录,如果是在当前目录,那就用.)

 

dockercompose:通过一个单独的docker-compose.yml模板定义一组相关联的容器,实现快速部署

docker compose [options] [command]
options:
             -f 指定compose的路径和名称     
             -p 指定project的名称(有默认 root-xx

commands:
             up down ps logs stop start restart top(查看运行的进程) exec

 

posted @   天启A  阅读(7)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
历史上的今天:
2023-04-18 2023/4/18 SCRUM个人博客
点击右上角即可分享
微信分享提示