docker优势

轻量级、资源损耗少、启动快、性能高、只能运行linux系统

容器技术发展历程

1.chroot技术

新建一个子系统(拥有自己完整的系统文件)

ldd /bin/ls(查看ls命令依赖的库文件)

2.linux容器(lxc)-linux container

namespaces命名空间、隔离环境、cgroup进程资源限制

3.docker容器

初期使用lxc二次开发,后期使用libcontainer

docker加速器 #使用阿里加速更靠谱

vim /etc/docker/daemon.json
{"registry-mirrors":["https://registry.docker-cn.com"]}
docker info 检查加速

镜像管理

docker search -搜索镜像
docker pull -拉镜像,默认最新版latest
docker image ls -镜像列表
docker image save -镜像导出
docker image load -镜像导入
docker image rm -镜像删除

容器管理

run-创建并启动
start-启动
-d 后台运行
-p 指定端口映射
-P 系统自动指定端口映射
-it 分配交互式终端
--name 指定容器名称
ctrl+d 退出容器
-v 源地址(宿主机):目标地址(容器)
-e 环境变量
docker container ls    查看启动容器
docker container ls -a 查看所有容器
docker container start/restart/stop/kill/rm/rename 启动/停止/杀死/删除/重命名 容器

进入正在运行的容器

docker container attach 进入容器同一个终端,画面同步
docker container exec -it name /bin/bash 使用exec分配tty进入容器
/bin/bash 覆盖容器初始命令
ctrl+p,ctrl+q悄悄退出

容器网络

默认容器网络-nat模式,172网段

-p 80:80
-p 514:514/udp 指定udp协议,默认tcp协议

容器数据持久化

docker container cp 宿主机目录 容器名:目录 -复制宿主机目录
docker cp /data/docker/test01/ docker-centos01:/ttt
docker run -d -v 源地址(宿主机):目标地址(容器) 容器名 -挂载主机目录,之后直接修改宿主机目录内容便可
数据卷管理
docker run -d -v 卷名:目标地址(容器) 容器名 -数据卷(第一次卷空,将容器数据拷贝至卷;若卷有数据则卷数据挂载到容器)
docker volume inspect 卷名
--volume-from 跟某一个已经存在的容器挂载相同的卷
docker run -itd -v tes:/opt/ centos /bin/bash
docker run -itd -v /data/docker/test/:/opt/ centos /bin/bash

手动制作镜像

docker run -it -p 81:80 centos /bin/bash
yum install nginx -y
nginx
ctrl+d
docker container commit nifty_lamarr centos8-nginx01
docker image ls
docker run -itd -p 81:80 centos8-nginx01 /bin/bash

自动制作镜像dockerfile

基础镜像信息            FROM
制作镜像操作指令 RUN
容器启动时执行初始命令 CMD [" "]
docker image build -t 镜像名称 --network=host dockerfile路径

root账户登录

docker exec --user root -it mongo /bin/bash

自动重启

--restart unless-stopped \

时间一致

-v /etc/localtime:/etc/localtime:ro

日志

docker logs ID -f

docker学习-qiang的更多相关文章

  1. Docker学习总结

    本文作为总结性文章,不会详细讲解Docker.但会把已学习的.了解的内容按照由易到难的顺序串起来,更多的是帮助Docker新手快速的了解Docker,知道目前处在哪个阶段,接下来该学些什么,避免碰太多 ...

  2. Docker学习笔记 — 配置国内免费registry mirror

    Docker学习笔记 — 配置国内免费registry mirror Docker学习笔记 — 配置国内免费registry mirror

  3. docker学习笔记1 -- 安装和配置

    技术资料 docker中文官网:http://www.docker.org.cn/ 中文入门课程:http://www.docker.org.cn/book/docker.html docker学习笔 ...

  4. docker学习资料整理(持续更新中..)

    docker最近可以说火得一踏糊涂,跟 51大神在交流技术的时候这个东西会多次被提到,当我们还玩vm+linux/freebsd的时候,人家已经上升到更高层次了,这就是差距,感觉好高大上的样子,技术之 ...

  5. Docker学习笔记之一,搭建一个JAVA Tomcat运行环境

    Docker学习笔记之一,搭建一个JAVA Tomcat运行环境 前言 Docker旨在提供一种应用程序的自动化部署解决方案,在 Linux 系统上迅速创建一个容器(轻量级虚拟机)并部署和运行应用程序 ...

  6. Docker学习总结之Run命令介绍

    Docker学习总结之Run命令介绍 本文由Vikings(http://www.cnblogs.com/vikings-blog/) 原创,转载请标明.谢谢! 在使用Docker时,执行最多的命令某 ...

  7. docker~学习笔记索引

    回到占占推荐博客索引 使用docker也有段时间了,写了不少文章与总结,下面把它整理个目录出来,方便大家去学习与检索! docker~学习笔记索引 docker~linux下的部署和基本命令(2017 ...

  8. Docker学习笔记 - Docker容器内部署redis

    Docker学习笔记(2-4)Docker应用实验-redist server 和client的安装使用 一.获取redis容器(含客户端和服务端) 二.创建服务端容器 1.在终端A中运行redis- ...

  9. docker学习笔记(一)—— ubuntu16.04下安装docker

    docker学习笔记(一)—— ubuntu16.04下安装docker 原创 2018年03月01日 14:53:00 标签: docker / ubuntu 1682 本文开发环境为Ubuntu ...

随机推荐

  1. [探究] $\mu$函数的性质应用

    参考的神仙An_Account的blog,膜一下. 其实就是一类反演问题可以用\(\mu\)函数的性质直接爆算出来. 然后其实性质就是一个代换: \[\sum_{d|n}\mu(d)=[n=1]\] ...

  2. [LeetCode] 126. Word Ladder II 词语阶梯之二

    Given two words (beginWord and endWord), and a dictionary's word list, find all shortest transformat ...

  3. 微信小程序绑定列表数据

    js代码 Page({ /** * 页面的初始数据 */ data: { words:[] } wxml代码 <view wx:for="{{words}}" class=' ...

  4. vertica 设置最大会话数

    默认会话数最大值55,如果超过了,就会报如下错误: com.vertica.support.exceptions.NonTransientConnectionException: [Vertica][ ...

  5. 基于Laravel框架下使用守护进程supervisor实现定时任务(毫秒)

    本篇文章给大家带来的内容是关于基于Laravel框架下使用守护进程supervisor实现定时任务(毫秒),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助. 公司需要实现X分钟内每隔Y秒 ...

  6. Lua 转义字符

    [1]Lua语言在Windows环境中的文件路径写法 示例程序如下: -- test1 local file = io.open("E:\test\100.txt", 'rb') ...

  7. Caused by: java.lang.ClassCastException: org.springframework.web.SpringServletContainerInitializer cannot be cast to javax.servlet.ServletContainerInitializer。。。。。检查一下servlet-api是否冲突了?

    原因:jar包发生冲突.在我的pom.xml文件中 <dependency>      <groupId>javax.servlet</groupId>       ...

  8. SpringBoot热部署(实战)详解

    热部署是什么 大家都知道在项目开发过程中,常常会改动页面数据或者修改数据结构,为了显示改动效果,往往需要重启应用查看改变效果,其实就是重新编译生成了新的 Class 文件,这个文件里记录着和代码等对应 ...

  9. WPF精修篇 多数据触发器

    原文:WPF精修篇 多数据触发器 有多属性触发器 就有多数据触发器 <Grid> <CheckBox x:Name="c1" Content="许可协议 ...

  10. 香草js侦测元素是否离开视窗viewport

    很多时候,我们需要检查一个元素是否已经部分不在或者全部不在视窗区域,当这种现象发生时做相应的处理. 比如在CMS编辑内容时,其工具菜单很有可能因为内容区域过长导致滑出视窗区域,而工具栏又是经常要使用的 ...