| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 系统运维 -> Dockerfile 和 Docker-compose 学习笔记 -> 正文阅读 |
|
[系统运维]Dockerfile 和 Docker-compose 学习笔记 |
Dockerfile1、什么是 Dockerfile 文件 通过自定义的命令构建我们自己的镜像 每行指令都会生成一个镜像(中间镜像,用于缓存,不要缓存的话 --no-cache),返回我们最后打包好的镜像
2、运行 Dockerfile 文件 docker build -t conterName .(路径,. 表示当前路径) Docker compose1、docker compose 是Docker 官方的另一个开源项目,用于对多个容器定义和运行的快速编排 比如一个项目依赖于 Redis 、 MqRabbit、Mysql 环境然后才能正常启动,这时候就可以用 docker compose 对容器启动做编排 项目(Project):有多个服务共同组成的一个完整的业务单元,定义 docker-compose.yml中 服务(Service): 一个服务对应一个应用容器,在一个项目中可以存在多个服务 2、下载安装 docker compose sudo curl -L "https://github.com/docker/compose/releases/download/1.29.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose sudo chmod +x /usr/local/bin/docker-compose 3、编写 docker-compose.yml 文件将要运行的容器进行编排 a. 创建一个 docker-compose.yml 文件(官方建议命名) b. 编写格式 version: "3.0" #compose 的版本号 ? services: ? mysql: ? #服务名唯一 ? built: ? ? ? context: /path ? #Dockerfile 文件的路径 ? ? ? #先将 Dockerfile 文件上传服务器, ? ? #然后在 docker-compose.yml 文件用 build 的指令来将指令路径下的 Dockerfile 文件创建成镜像 ? ? ? container_name: mysql #相当于docker run 中的 --name ? ? ? image: mysql:latest #创建当前这个服务使用的镜像是谁(指定镜像) ? ? ? ports: ? ? ? ? - "3306:3306" #最好用引号抱起来 ? ? ? ? - "889:889" ? ? ? volumes: #宿主机和容器中目录中的数据卷共享 ? ? ? ? - /home/super:/user/local ? #宿主机绝对路径 :容器绝对路径 ? ? ? ? #或者可以直接指定卷(宿主机会自动创建) ? ? ? ? - mysqldata:/var/lib/msql ? ? ? ? - mysqlconf:/etc/mysql ? ? ? network: #指定网络,用于容器中的通信 ? ? ? ? - hello #网桥 , 要在下方定义 hello 网桥 ? ? environment: #指定运行时要的账号密钥设置 ? ? - MYSQL_ROOT_PASSWORD=root ? ? ? redis: ? #服务名唯一 ? image: redis:latest #创建当前这个服务使用的镜像是谁(指定镜像) ? ports: ? ? - "6379:6379" ? networks: - hello #默认是 bridge 查看网桥 docker network ls # 上面两行的写法会创建 项目名_hello 的网桥名, #如果不想要这样的网桥名,要先在服务器创建 hello 网桥, docker network -d create bridge hello external: #然后使用指定网桥(用已经用的,不创建),volumes 也是同理 true volumes: ? #查看 docker 共享的文件 docker volume ls ? #查看目录细节 docker inspect hello_mysqldata ,在细节中有目录的据对路径 ? mysqldata: ? mysqlconf: c. 在 docker-compose.yml 文件的目录下, 运行 docker-compose docker-compose up -d 参数说明: up 表示不重启正常的容器, ? ? ? ? -d 后台启动 d. build 指令先构建镜像,再使用镜像创建容器 先将 Dockerfile 文件上传服务器,然后在 docker-compose.yml 文件用 build 的指令来将指令路径下的 Dockerfile 文件创建成镜像 不过对于多台服务集群的情况下,可以将镜像服务长传云,然后直接用云上将镜像下载下来运行 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/15 21:25:07- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |