docker是一个快速安装部署的容器,快捷简单、可以隔离是他的优点

docker也拥有仓库:dockerhub,存储和管理镜像的平台

我们利用docker安装时就是在里面下载镜像,镜像不仅包含应用本身,还包含了其所需要的环境,配置,系统函数库

命令解读

docker run -d \
--name mysql \
-p 3306:3306 \
-e TZ=Asia/Shanghai \
-e MYSQL_ROOT_PASSWORD=123 \
mysql

docker run创建并运行一个容器,-d让容器在后台运行

--name 为容器起名,唯一

-p 端口映射,将容器内的端口映射为机器上的端口,以便于外部链接(正常情况是不可以链接的)在集群的时候,宿主机的端口需保持唯一性,docker内的不需要

-e K=V环境变量

mysql 指定运行的镜像的名字 正常情况的命名规范是repository:tag(version,不写tag就是默认最新版本

常用命令

docker pull # 下载
docker push # 上传
docker images # 查所有镜像
docker rmi # 删除指定镜像
docker build # 构建镜像
docker save # 保存镜像,保存为一个压缩包?
docker load # 加载保存的镜像
docker run/rm # 创建并运行容器/删除容器
docker start/stop # 运行一个stop / 停止一个run/start
docker ps # 查看当前容器的状态
docker logs # 查看容器的日志
docker exec # 进入容器内部

数据卷volume 是一个虚拟目录:容器内目录与宿主内目录映射的桥梁

docker volume create # 创建数据卷
docker volume ls
docker volume rm
docker volume inspect # 查看数据卷详情
docker volume prune # 清除数据卷
docker run -v 数据卷:容器内目录 完成数据挂载,没有会自动创建,也就是说,创建完了的容器不能再挂载;当然,你在创建的时候不注明也会产生一个匿名卷(不建议使用匿名卷)

docker run -v 本地目录:容器内目录 可以直接实现本地目录挂载

注意:本地目录必须以./ 或者 / 开头,不然会被识别为数据卷

Dockerfile:文本文件,包含指令,用指令来说明要执行什么操作来构建镜像,以后docker可以通过dockerfile帮我们构建镜像

# 一些dockerfile的基本指令
from centos:7 # 指定基础镜像
env key value # 配置环境
copy ./a.jar /tmp # 拷贝本地目录到指定镜像目录
run # 执行shell命令,一般用于安装一些东西
expose 80 # 暴露端口,无实际作用
entrypoint java -jar a.jar # 镜像中应用启动的指令
docker build -t 镜像名:tag .(这个是指定dockerfile所在的目录,如果是在当前目录,那就用.)

dockercompose:通过一个单独的docker-compose.yml模板定义一组相关联的容器,实现快速部署

docker compose [options] [command]
options:
-f 指定compose的路径和名称
-p 指定project的名称(有默认 root-xx commands:
up down ps logs stop start restart top(查看运行的进程) exec

docker基础学习总结的更多相关文章

  1. 【补充】docker基础学习

    docker 基础知识 之前写了一篇docker未授权访问的文章,现在来补充一下docker基础知识,以便更好的学习docker上的漏洞. docker是一款轻量级的虚拟化的产品,它属于层级化的架构. ...

  2. Docker 基础学习(一)

    Docker官网:https://docker.com/ 中文翻译非常好的学习地址:http://dockerpool.com/static/books/docker_practice/index.h ...

  3. [Docker] docker 基础学习笔记3(共6篇)

    首先我们安装好了ssh server之后, 我们需要将这个容器commit,然后启动这个被commit的image. 启动方式: docker run -d -p 2222:22 /usr/sbin/ ...

  4. [Docker] docker 基础学习笔记2(共6篇)

    febootstrap 是一个自制image的一个第三方的工具,好像他们现在都要用这个.   安装还是挺方便的. yum -y install febootstrap   febootstrap -i ...

  5. Docker基础学习相关网址

    中文学习地址:https://yeasy.gitbooks.io/docker_practice/content/ 官网介绍地址:https://www.docker.com 官网学习地址:https ...

  6. [Docker] docker 基础学习笔记6(共6篇)

    这个迁移指的是docker整个系统的迁移,而不是说images存储位置迁移 docker info 查看docker的各项配置   首先做文件的迁移 使用rsync软件将docker的文件夹整体迁移到 ...

  7. [Docker] docker 基础学习笔记5(共6篇)

    docker 配置文件的位置: centos : /etc/sysconfig/docker ubuntu: /etc/default/docker   现在比如我自己电脑上已经装好了docker,但 ...

  8. [Docker] docker 基础学习笔记1(共6篇)

    巩固一下yum: yum本身是centos自带的软件,可以删掉然后再重新安装. yum本身可以配置yum源,网络的,本地的都可以.之后安装docker需要配置一个扩展源.   从163的网址里边下载好 ...

  9. docker基础学习(一)

    操作演示: 1.查看一个容器的版本 [root@ELK-chaofeng08 ~]# docker version Client: Version: API version: 1.39 Go vers ...

  10. docker基础学习

    docker的定义: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化.容器是完全使用沙箱机 ...

随机推荐

  1. 获取某一个数的2进制位数以及bitmask

    举例说明:比如32对应的2进制为2b'100000,对应的bitmask为2b'11111. 实现代码: #include <stdio.h> typedef unsigned char ...

  2. C语言-使用malloc导致的奔溃问题

    在使用malloc.memset.free的过程中,出现了程序奔溃,大致现象如下. 程序的实现大致如下: #include <stdio.h> #include <stdlib.h& ...

  3. Vue简单自定义Canvas验证码组件。

    在您的Vue项目中,是否曾遇到过需要增加验证码来增强账户安全性的情况?这个Vue通用Canvas验证码组件!采用Canvas,实现了高度自定义和灵活的验证码生成方式,让您的网站或应用轻松应对各类验证码 ...

  4. work03

    第一题: 1.定义一个包含十个元素的数组.数组元素自己给出 2.遍历打印出数组元素 3.求出数组当中的最小值打印出来 4.求出数组当中的最大值打印出来 5,求数组当中 第二大 值 第二题: 1.定义一 ...

  5. 如何使用csproj构建C#源代码组件NuGet包?

    一般我们构建传统的NuGet包,都是打包和分发dll程序集文件. 至于打包和分发C#源代码文件的做法,比较少见. 那么这种打包源代码文件的做法,有什么优点和缺点呢? 优点: 方便阅读源代码. 方便断点 ...

  6. (四)Redis 缓存应用、淘汰机制

    1.缓存应用 一个系统中不同层面数据访问速度不一样,以计算机为例,CPU.内存和磁盘这三层的访问速度从几十 ns 到 100ns,再到几 ms,性能的差异很大,如果每次 CPU 处理数据时都要到磁盘读 ...

  7. QT学习:10 IO类

    --- title: framework-cpp-qt-10-IO类 EntryName: framework-cpp-qt-10-QIODevice date: 2020-04-17 10:24:0 ...

  8. STM32 CubeMX 学习:002-外部中断的使用

    背景 上一讲 STM32 CubeMX 学习:GPIO的使用 介绍了如何配置以及操作GPIO引脚. 这一讲我们通过中断来控制按键.关于中断的概念不做介绍. HOST-OS : Windows-10 S ...

  9. 对Transformer的一些理解

    在学习Transformer这个模型前对seq2seq架构有个了解时很有必要的 先上图 输入和输出 首先理解模型时第一眼应该理解输入和输出最开始我就非常纠结 有一个Inputs,一个Outputs(s ...

  10. 3568F-Qt工程编译说明