docker

docker:跨平台,快速运行应用run,快速构建应用build,快速分享应用share

docker + air可以实现热更新,配置.air.toml文件,可以使用本地dockerfile构建,也可以使用远程docker hub中的镜像构建

客户端client(docker-cli):
docker pull redis(以redis为例,从市场拉取redis)
docker run redis(运行redis)
docker build kezhangJDK(构建自己的应用)
docker push kezhangJDK(上传到市场上)

docker主机(docker host):Docker Daemon(Containers容器(应用))
⬇⬆
应用市场(registry):Images镜像(软件包)

用镜像启动的应用成为容器

传统部署➡虚拟化部署➡容器部署
容器类似轻量级的虚拟机,共享操作系统内核,拥有自己的文件系统,CPU,内存,进程空间等,且互相隔离

1. 命令

容器
运行
docker run -d(后台启动) --name(容器名)mynginx -p 80:80(端口映射) nginx(以nginx为例)
查看
docker ps -a(查看全部)
停止
docker stop mynginx
启动
docker start mynginx
重启
docker restart mynginx
状态
docker stats
日志
docker logs
进入
docker exec -it(以交互模式进入) mynginx /bin/bash(可以进行修改)
删除
docker rm -f(强制删除) mynginx
强制删除所有容器
docker rm -f $(docker ps -aq)

镜像
检索
docker search nginx
下载
docker pull nginx
列表
docker images
删除
docker rmi nginx

分享
提交
docker commit -m(提交信息)
保存
docker save -o(打包成tar包)
加载
docker load -i(指定文件位置)
登录
docker login
命名
docker tag
推送
docker push

2. 存储

目录挂载(数据)
docker run -v /app/nghtml:/usr/share/nginx/html
卷映射(配置)
docker run -v ngconf:/etc/nginx
卷默认放在/var/lib/docker/volumes/文件夹下
查看卷列表
docker volume ls
查看卷的详情
docker volume inspect ngconf

3. 自定义网络

容器之间互相访问,创建自定义网络,容器名就是稳定域名docker network create mynet
创建两个容器添加参数:--network mynet
进入一个容器docker exec -it app1 bash
打印出另一个容器数据,注意端口是80curl http://app2:80
使用容器名 + 容器端口号互相访问

4. 环境变量

docker run -e具体参考hub.docker.com
例子:redis主从集群实现读写分离,可以利用docker进行设置两个redis01(master)和redis02(slave),主机进行创建、删除、修改等写操作,从机进行查找等读操作,减轻redis负担,mysql等应用的创建等

5. docker compose
准备一个.yaml文件,vim compose.yaml,i,粘贴,Esc,:,wq
上线:docker compose -f compose.yaml up -d
下线:docker compose down
启动:docker compose start x1 x2 x3
停止:docker compose stop x1 x3
扩容:docker compose scale x2 = 3

yaml文件
name(名字)、services(服务)、networks(网络)、volumes(卷)、configs(配置)、secrets(密钥)

参考:https://www.bilibili.com/video/BV1BE6PYUESb

posted @   教诲you  阅读(6)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
点击右上角即可分享
微信分享提示