Docker 笔记

Docker 常用命令

  1. 列出全部的镜像: docker image ls (或是 docker images)

Docker 教程:

https://yeasy.gitbook.io/docker_practice/basic_concept/container

笔记

  1. 镜像(Image)和容器(Container)的关系,就像 类 和 实例 一样.
  2. 下载镜像 pull,一点要开启全局代理。
  3. Docker 国内镜像,加速器,配置过程:

运行一个 Dockerfile 文件

  1. 先启动 Docker Desktop
  2. 比如这个仓库 https://github.com/mlflow/mlflow, 它有一个 Dockerfile
  3. 下载 -- 解压 -- 进入这个仓库
  4. 创建 docker 容器(环境)
    docker build ./ -f Dockerfile -t tag_name 或是
    docker build ./ -t tag_name 或是
    docker build -t tag_name .
  5. 运行 docker 容器(环境)
    docker run env_name # 这里其实是运行一个命令
  6. 进入这个 docker 容器(环境)
    docker run -it env_name /bin/bash # 交互式的命令,并给出一个终端 exit 退出

运行一个 Docker 镜像

  1. docker run redis 最简单的方式
  2. docker run -d -p 3080:80 docker/getting-started
    -d 脱离模式,后台运行
    -p port 系统端口号: 容器的端口号
    -然后打开 http://localhost:3080

创建一个 Docker 镜像

  1. 编写一个 Dockerfile 文件, 具体见例子
  2. docker build --tag py_docker_1 . # 最后那个 . 不能忽略了
创建一个容器
  1. 写一个 Dockerfile 文件,
  2. 在 Dockerfile 所在的目录下运行:
    $ docker build -t get_start .
  3. 之后会生成一个名为 get_start的 容器。
  4. 运行这个容器 get_start,参考运行。
Dockerfile 例子
bash 复制代码
FROM node:12-alpine
RUN apk add --no-cache python g++ make 
WORKDIR /app 
COPY . . 
RUN yarn install --production 
CMD ["node", "src/index.js"]
分享一个容器
  1. 注册登录 https://hub.docker.com/
  2. 创建一个容器。就是点击按钮等等。
  3. 本地客户端登录一下:
    $ docker login -u buxuele
  4. 把自己的镜像搞一个标签名字
    $ docker tag get_start buxuele/get_start
  5. 然后把本地的镜像上传到 hub
    $ docker push buxuele/get_start
多个容器共享一个文件 ,比如一个数据库文件.
  1. 创建一个 文件卷
    $ docker volume create todo-db
  2. 运行的时候,把数据库单独加载进来。
    每次运行这个项目的时候,都是使用下面这个命令。不然会清除数据库的。 docker run -dp 3000:3000 -v todo-db:/etc/todos get_start
相关推荐
小满Autumn1 小时前
log4net 日志框架 — 从配置到实战速查手册
笔记·c#·.net·wpf·上位机·log4net
遇见火星6 小时前
Docker Compose 完全入门:一键启动所有容器
运维·docker·容器·docker compose
袁小皮皮不皮8 小时前
1.HCIP BFD 学习笔记(优化版)
服务器·网络·笔记·网络协议·学习·智能路由器·ip
云原生指北9 小时前
Apple Container Machine:把 Linux 搬进 Mac
macos·docker
蘋天纬地11 小时前
k8s的控制平面是什么,有什么作用
容器·kubernetes
hhcgchpspk12 小时前
汇编语言传递数据和地址的误区
汇编·笔记·nasm·masm
智者知已应修善业12 小时前
【51单片机2个外部中断显示中断历时,初始化8左移3位共阳数码管】2024-6-6
c++·经验分享·笔记·算法·51单片机
tq108614 小时前
OperationSequence DSL 2.1 语法规范
笔记
隐层漫游者14 小时前
2026全网最细Docker容器化实战!从安装配置到Milvus向量数据库部署,一文掌握核心精髓(建议收藏)
docker
智者知已应修善业15 小时前
【用74LS151的实现(16序列信号发生器)】2024-6-1
驱动开发·经验分享·笔记·硬件架构·硬件工程