docker笔记
win7、win8
用 docker toolbox 来装:http://mirrors.aliyun.com/docker-toolbox/windows/docker-toolbox/
win10
安装需要开启 Hyper-V,然后去官网下载安装 linux。
mac
直接用brew安装。
配置
Perferences-Docker Engine里更改镜像源为国内: json中追加:"registry-mirrors": ["
二. 启动
登录docker
id:teark;password:那个密码。
启动指引
git clone https://github.com/docker/getting-started.git cd getting-started docker build -t docker101tutorial . # 使用 Dockerfile 创建镜像 docker run -d -p 80:80 \ --name docker-tutorial docker101tutorial # 提示登录 docker tag docker101tutorial {username}/docker101tutorial docker push {user}/docker101tutorial docker run -d -p 80:80 docker/getting-started
参数
-t:在新容器内指定一个伪终端或终端。 -i:允许你对容器内的标准输入 (STDIN) 进行交互。
短命令
exit或ctrl+d:退出容器
三. 镜像命令
四. 仓库管理
docker login/pull/push/search/tag [仓库名称] curl ip/路径 相当于ping一下
五. 数据管理
docker run -itd --name<容器名> -v <宿主机目录/文件>:<容器目录/文件> <镜像名> <命令,可选> 目录/文件映射
docker create -v <宿主机目录|文件>: <容器目录|文件> --name <contain_name> <image_name> <命令,可选> 创建数据卷容器
六. 网络管理
docker run -d -P [镜像名称] 随机端口映射
docker run -d -p <宿主机ip>:<宿主机port>:<容器port> 指定端口映射
docker run -d -p <宿主机端口1>:<容器端口1> -p<宿主机端口2>:<容器端口2> --name <容器名称> <镜像名称> 多端口映射
docker run --network=host -itd --name<容器名称><镜像名称> 容器和宿主机共享网络
DockerFile FROM ubuntun ?MAINTAINER 'ljx' 指定维护者信息构建时运行的命令 RUN echo hello shell模式RUN['echo', 'hello'] exec模式RUN mkdir /testWORKDIR /testRUN touch test.confENTRYPOINT /bin/bash 入口,唯一EXPOSE <port>ADD ./example.tar/ #复制,有压缩文件自动解压COPY ./example.tar/ #纯复制VOLUME ['/data'] #挂载点 对外暴露的端口号,需要启动时增加-p或-P对端口进行分配ENV NIHAO=itcastdocker build -t mysql-ubuntun:v1.0 . 构建镜像
七. 容器管理
查看运行的容器:docker ps
docker ps -a /container ls -a 查看
docker <container> start/stop/kill/rm [container_id] 创建容器
docker run <-itd> docker_image [执行命令] 运行。<-itd>打开标准输入/分配伪终端到标准输入/守护
docker <container> rm <-f> [container_id] 删除已关闭<强删>
docker rm -f $[container_id] 批量强删
docker run --name[container_name] -it [docker_image] /bin/bsah 创建并进入
docker exec -it container_id /bin/bash 手动进入
docker commit -m '' '说明信息' -a '作者信息'[container_id] [new_image:tag] 基于容器创建镜像
docker commit 容器名 镜像名/save -o 保存的文件名 镜像名/load -i 文件路径/备份文件 镜像制作打包解压exit/ctrl+d 退出
docker logs [container_id] 查看日志
docker ps 正在运行的,-a看所有的 docker log [容器名称或id] 查看日志 docker log -f[容器名称或id] 实时查看日志连接容器
docker atttach [id] 区别:ctrl+d退出时容器直接退出了,用Ctrl+pqdocker exec -it [id] /bin/
八. 镜像管理
docker image ls/pull/rm 镜像查看拉取删除
docker run -dit --name=ubuntu2 ubuntu 开启守护式容器
docker container start/kill/stop/rm 容器启动杀死停止删除
docker search [i] 镜像搜索
docker pull [i] 获取镜像管理
docker history 历史
docker tag [old_image] : [old_version] [new_image] : [new_version] 重命名
docker rmi [image_id/image_name: image_version] 删除
docker save -o [包文件] [镜像] 导出
docker load < [image.tar_name] 导入
九. 其他
-i交互式运行,-t分配伪终端,-it即可,后面必须加/bin/bash
-d后台启动,缺点:启动后没有任何操作就会退出,必须保证运行名声是可持续的。加-it也可以。
死循环:docker run --name-test -d ubuntun sh -c "while true do echo hello world; sleep 1; done"
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架