【Unity工具】Docker笔记
聪头 游戏开发萌新

Docker

时间:2023年12月1日10:15:30

官方API文档:https://docs.docker.com/reference/

UP:GeekHour

URL:https://www.bilibili.com/video/BV14s4y1i7Vf/?p=1

P2 Docker简介

image image

为什么使用Docker

image

P3 Docker和虚拟机区别

image image image

P4 基本原理和概念

镜像:只读模板,用来创建容器

容器:Docker的运行实例,提供独立的、可移植的环境

Docker仓库:管理各种镜像(DockerHub)

image

P5 安装配置

官网:https://www.docker.com/products/docker-desktop

验证Docker启动

image

Windows Hyper-V

Windows需要开启Hyper-V才可以运行Docker

image

P6 容器化和Dockerfile

容器化:将应用程序打包成容器,在容器中运行应用程序的过程

image

P7 实践环节

image

安装Docker扩展工具

image

本地运行Docker

编写Dockerfile

1
2
3
4
5
6
7
# 指定基础镜像
FROM node:14-alpine
# 源路径: 相对于Dockerfile的路径
# 目标路径:相对于镜像的路径
COPY index.js /index.js
# 运行命令
CMD node /index.js
image

终端

1
2
3
4
# hello-docker:镜像名称
# .:当前目录
# 如果想指定镜像版本就在镜像名称后加:版本号
docker build -t hello-docker .

查看所有镜像

1
2
docker image ls
docker images

image

运行

1
docker run hello-docker

在线运行Docker

网址:https://labs.play-with-docker.com

拉取镜像

1
2
# 用户名/镜像名
docker pull geekhour/hello-docker

运行容器

1
docker run geekhour/hello-docker

P8 DockerDesktop的使用

https://www.bilibili.com/video/BV14s4y1i7Vf?p=8

Volumes:逻辑卷,用于持久化Docker中的数据

P9 Docker Compose

image

UP:广州云科

URL:https://www.bilibili.com/video/BV11L411g7U1?p=1

文档:https://docker.easydoc.net

P2 用Docker快速安装软件

docker run:运行容器

  • -d:在后台运行
  • -p:把容器的端口(冒号后)暴露到宿主机端口(冒号前)
  • –name:命名 软件源:版本号(如果部署不推荐latest,而是固定版本)
1
docker run -d -p 6379:6379 --name redis redis:latest

docker run参数参考:https://docs.docker.com/engine/reference/commandline/run/

P3 构建自己的Docker镜像

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
FROM node:11
MAINTAINER easydoc.net

# 复制代码
ADD . /app

# 设置容器启动后的默认运行目录
WORKDIR /app

# 运行命令,安装依赖
# RUN 命令可以有多个,但是可以用 && 连接多个命令来减少层级。
# 例如 RUN npm install && cd /app && mkdir logs
RUN npm install --registry=https://registry.npm.taobao.org

# CMD 指令只能一个,是容器启动后执行的命令,算是程序的入口。
# 如果还需要运行其他命令可以用 && 连接,也可以写成一个shell脚本去执行。
# 例如 CMD cd /app && ./start.sh
CMD node app.js

UP:奇乐编程学院

URL:https://www.bilibili.com/video/BV1s54y1n7Ev

Docker中文教程

Docker–从入门到实践:https://yeasy.gitbook.io/docker_practice

介绍

Docker能为每个应用提供完全隔离的运行环境

image

三个术语

image

Image:镜像,虚拟机快照

image

Container:容器,运行起来的虚拟机。运行着应用程序,每个容器独立运行互不影响

image

Dockerfile:自动化脚本,用来创建镜像

image

Docker安装

官网:https://www.docker.com/products/docker-desktop

Dockerfile

1
2
3
4
5
6
7
8
9
10
# 指定docker镜像
FROM python:3.8-slim-buster
# 指定工作目录
WORKDIR /app
# 拷贝 COPY<本地路径> <目标路径>
COPY . .
# RUN 运行shell命令
RUN pip3 install -r requirements.txt
# 指定Docker容器运行起来后执行的命令 CMD ["可执行文件", "参数1", "参数2"...]
CMD ["python3", "app.py"]

创建镜像

1
2
3
# -t:名称
# .:当前目录下查找dockerfile
docker build -t my-finance .

启动容器

1
2
3
4
# -p: 宿主机端口:容器端口
# -d:后台运行
# my-finance:运行的镜像
docker run -p 80:5000 -d my-finance
image

Volume

创建volume

1
docker volume create my-finance-data

启动容器时挂载volume

1
docker run -dp 80:5000 -v my-finance-data:/etc/finance my-finance

多容器协作

docker-compose.yml

Docker和Kubernetes

 评论