美文网首页
docker学习记录1

docker学习记录1

作者: nnnnxcj | 来源:发表于2020-05-07 00:25 被阅读0次

Dockerfile 的指令每执行一次都会在 docker 上新建一层。所以过多无意义的层,会造成镜像膨胀过大。

FROM centos
RUN yum install wget
RUN wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz"
RUN tar -xvf redis.tar.gz

以上执行会创建 3 层镜像。可简化为以下格式:

FROM centos
RUN yum install wget \
    && wget -O redis.tar.gz "http://download.redis.io/releases/redis-5.0.3.tar.gz" \
    && tar -xvf redis.tar.gz

Docker 容器网络连接

简单连接两个容器还可以使用 docker run --link
--link <name or id>:alias(其中,name和id是源容器的name和id,alias是源容器在link下的别名)
如:运行连接opentsdb的grafana容器,

不使用link直接创建的容器是互相隔离的,无法连接(或者使用下面的创建docker网络将其连接起来)

参照虚拟机,我们可以将好几台虚拟机的网络进行配置,从而是它们的网络连通。docker 同样有类似的东西,docker 连接会创建一个父子关系,其中父容器可以看到子容器的信息。

创建一个新的 Docker 网络
docker network create -d bridge test-net

查看网络
docker network ls

运行容器 test01、test02 连接到 test-net
docker run -itd --name test01 --network test-net ubuntu /bin/bash
docker run -itd --name test02 --network test-net ubuntu /bin/bash

在容器内部查看ip
ip addr

注意:

  1. 类似 ip 主机名这样的容器配置一般在启动容器时设置,并不提倡去容器内部更改,感觉也是这样好一点
  2. 一般启动集群的时候,用写好的 docker-compose.yml 去启动,或者将设置写成 start-container.sh 这样比较好

docker cp
将容器文件拷到主机

docker volume

docker数据卷 -v参数
把docker中运行的数据持久化,使得容器之间数据可以共享

使用 docker-compose

Compose 使用的三个步骤:
使用 Dockerfile 定义应用程序的环境。
使用 docker-compose.yml 定义构成应用程序的服务,这样它们可以在隔离环境中一起运行。
最后,执行 docker-compose up 命令来启动并运行整个应用程序。

安装docker-compose
python3 -m pip install docker-compose
验证 docker-compose -v

endpoint和cmd类似一个意思

alinode 官方镜像分析并提取 Dockerfile
https://www.52cik.com/2018/10/01/docker-alinode-dockerfile.html
从 Docker 镜像中提取 Dockerfile
https://www.52cik.com/2018/10/01/dockerfile-from-image.html

指定 ENTRYPOINT 指令为 shell 模式时,会完全忽略命令行参数

参考https://www.cnblogs.com/sparkdev/p/8461576.html
https://www.hi-linux.com/posts/25523.html

相关文章

  • Docker学习笔记1

    Docker学习笔记1 标签(空格分隔): Docker 最近一段时间因项目需要,开始学习Docker。记录下之前...

  • docker学习记录1

    Dockerfile 的指令每执行一次都会在 docker 上新建一层。所以过多无意义的层,会造成镜像膨胀过大。 ...

  • 1. Docker简介

    最近开始学习Docker这个虚拟容器技术, 决定把学习过程记录下,先来记录下Docker的简介。 Docker简介...

  • Docker命令 & DockerFile

    记录一下Docker的常见命令和DockerFile的指令。 1. Docker命令 学习https://www....

  • docker学习记录

    docker学习记录 什么是Docker Docker 使用 Google 公司推出的 Go 语言 进行开发实现,...

  • Docker命令收集

    记录docker学习路上的点滴命令: 进入容器内部:docker exec -it ...

  • Docker 、nginx学习记录

    @[TOC] Docker 学习记录 Docker Desktop 在windows 10下安装正常,Hyper...

  • docker学习笔记(1)

    docker学习笔记(1) 1. docker run / docker create / docker star...

  • Docker学习记录

    docker run IMAGE [command][ARG...]一次运行只运行一次服务的容器举例:docker...

  • docker学习记录

    docker的安装(linux) 命令 sudo wget -qO- https://get.docker.com...

网友评论

      本文标题:docker学习记录1

      本文链接:https://www.haomeiwen.com/subject/fvxqwhtx.html