dockerB站笔记

https://www.bilibili.com/video/BV1THKyzBER6/?spm_id_from=333.1391.0.0\&vd_source=76ec69ffcef975cf21961cea795df0b0

命名规则:registry/用户名/imageName:version

前外后内

docker images

docker rmi 镜像

rm 容器

docker ps

docker pull

docker run -d -p 80:80 -v path:cpath nginx //后台运行镜像

-p 宿主机端口:容器 (先外后内)端口映射

-V 宿主机目录:容器内目录 绑定挂载

命名卷挂载

docker volume create nginx_html //

docker run -d -p 80:80 -v nginx_html:cpath nginx //后台运行镜像 镜像的目录的内容同步到宿主机的挂载卷目录

docker volume rm/remove

docker volume list

docker volume prune -a // 删除没有容器使用的卷

docker volume inspect nginx_html

复制代码
名字等价于id
docker run -d -p 80:80 -v nginx_html:cpath \
 
--name my_nginx nginx \
-e MONGO_= tech \ 
-- network network1 \            因为先创建了一个叫network1的子网
-- network host \            采用host模式的网络
nginx 

-it 允许交互

--rm 容器停止时,删掉容器。用于临时调试

--restart 配置重启策略 always、unless-stopped (手动不重启)

docker inspect 容器 // 查看容器的信息

docker ps -a // 查看所有容器,包含停止的

docker start

docker stop

docker create // 只创建容器,但不启动

docker run // 创建容器,启动

docker logs

cat /etc/os-release // 查看linux版本


Dockerfile: 制作镜像的图纸

第一行为from , 从哪个镜像开始

workdir /app

copy . .

expose 8000 ,用来声明,无实质

cmd "python3","main.py"容器运行时的默认启动命令

entrypoint "python3","main.py"entrypoint 比 cmd 优先级更高,不容易被覆盖。

docker build -t hjzhu/testProject[:version] . 最后的.是在当前文件夹构建;要是想推上去,需要遵守命名规则

docker push hjzhu/testProject:version

docker login


网络

容器网络与宿主机得网络是隔离的。容器1...3可以互通,默认172.17开头

bridge 默认

docker network create network1 // 创建一个叫network1的子网。同一个子网的容器也可以使用名字进行通信。自定义的bridge自带dns解析,可以把容器名解析为ip;子网内部有dns机制

host网络模式:容器的端口直接运行在宿主机得端口上,用宿主机的ip和端口就可以访问到容器

docker network list 查看可用的网络。默认的3中无法删除(none,无网络模式)


docker compose

默认创建一个子网,一个compose文件中的所有容器默认是相同的子网。
可以定义启动顺序。 depends_on:
可以把docker命令告诉ai,让他给生成compose文件。
新版的docker自带docker compose,但是老版的装一下。
vi docker-compose.yaml
docker compose -f 文件路径 up -d // 标准文件名可以防止多次启动
docker compose down -d 停止+删除
docker compose stop
docker compose start

dockerfile

复制代码
FROM openjdk:11-jre-slim

# 自动创建 /app 目录
WORKDIR /app

ADD target/*.jar app.jar

EXPOSE 8010

ENV LANG=C.UTF-8 \
    TZ=Asia/Shanghai \
    JAVA_OPTS="-Dfile.encoding=UTF-8" \
    JAVA_PROFILE="--spring.profiles.active=dev"

CMD ["sh","-c","java $JAVA_OPTS -jar app.jar $JAVA_PROFILE"]
相关推荐
bosins8 小时前
WSL2 启动即崩溃?调整超时参数解决 Docker 阻塞问题
linux·docker·wsl
智者知已应修善业8 小时前
【4060BD_5V应用电路图】2022-12-24
驱动开发·经验分享·笔记·硬件架构·硬件工程
一直在努力学习的菜鸟10 小时前
Docker 完整知识体系图
docker
小李不想当小白11 小时前
DMA直接存储器存取(STM32标准库学习笔记)
笔记·stm32·单片机·嵌入式硬件·学习·分享
java_logo13 小时前
Docker 部署 Gotenberg 完整教程:Compose 搭建文档转 PDF API
docker·pdf·chromium·libreoffice·文档转换·轩辕镜像·gotenberg
2601_9653842613 小时前
口腔黏膜清洁的工程化路径:从表面形貌表征到清洁策略匹配
经验分享·笔记
泡泡鱼(敲代码中)13 小时前
Python 容器类型学习笔记:列表、元组、字典、集合
开发语言·笔记·python·pycharm
闲云野鹤在人间14 小时前
docker 入门 | 第7章 容器监控 和 第8章 容器日志 详解
运维·docker·容器·架构·云计算
Experience-摆渡14 小时前
开源RAG知识库WeKnora深度调研:让知识自己长成体系
爬虫·docker·开源·rag
闲云野鹤在人间14 小时前
docker 入门 | 第5章 网络详解
网络·docker·架构·华为云·php