1. docker的进程架构

  • docker服务进程:就是针对docker服务的命令,启动,重启
  • 接口:通过参数指定容器的IP和端口,实现对容器的远程操作
  • 客户端命令行:对docker的操作命令
  • 最后学会管理容器的网络,进程,容器等

2. docker的命令

  • 镜像的拉取

    sudo docker search  镜像名称 # 搜索镜像文件
    sudo docker pull 镜像名称
  • 查看镜像
    sudo docker images
  • 运行容器
    # 简单运行一下,通常会执行一下容器就会挂掉
    docker run 镜像名称
    # 交互式的运行一个的docker容器,-i:交互式命令, -t:开启一个终端
    docker run -it 镜像名称 /bin/bash # 后台运行一个docker容器,并指定运行shell代码 -d:让容器后台运行, -c:运行的shell命令
    docker run -d 镜像名称 /bin/sh -c "while true;do echo 辛苦了,学习linux; sleep 1;done" # 运行容器并指定名称
    docker run --name xxx -it 镜像名称 /bin/bash
    # 运行容器并指定端口映射
    docker run --name xxx -it 镜像名称 -p 6000:5000
    # 运行容器并制定端口映射,文件夹映射和环境PATH映射
    docker run --name xxx -it 镜像名称 -p 6000:5000 -v 宿主机目录:容器目录 -e

    # 运行容器指定容器的网络模式
    docker run -d --name xxx --net=host
    # 进入一个存活的容器 docker exec -it 容器id /bin/bash 

    # 退出容器
    exit
  • 停止容器
    sudo docker stop 容器ID/容器名字
  • 查看容器
    sudo docker ps # 查看存活的容器
    sudo docker ps -a # 查看所有的容器
  • 启动容器
    sudo docker start 容器名称/容器ID
  • 查看容器的详情
     sudo dockder inspect 容器名称/容器ID
    sudo docker inspect e6b | grep -i ipaddr

  • 停止一个容器

    sudo docker stop 容器ID/容器名字
  • 重启一个容器

     sudo docker restart 容器ID/容器名字
  • 删除一个容器

     sudo docker rm 容器ID/容器名称  # 必须是非正在运行的容器
  • 删除一个镜像

    sudo docker rmi image的名字/镜像ID  # 确保没有容器使用该镜像(运行或者停止的容器)

3. 访问容器内的nginx

3.1 搜索并下载nginx

sudo docker search nginx

根据镜像的名字下载镜像

sudo docker pull nginx

查看本地的镜像文件

sudo docker images

3.2 运行并访问nginx

3.2.1 运行nginx镜像

返回该容器的一个ID值

sudo docker run -d -p 80:80 nginx # d:后台运行,p实现容器和宿主机端口的映射

查看存活的容器

sudo docker ps

在本地浏览器中输入宿主机IP即可访问nginx

网络流量走向

4. 下载常用的docker

4.1 下载redis

sudo docker search redis
sudo docker pull redis

4.2 下载ubutun

sudo docker search ubuntu
sudo docker pull ubuntu

5. docker 镜像分层原理

我们在下载一个镜像的时候,细心一点会发现,下载的时候会分层下载

原因就是镜像会分层保存,很多容器共用一些层次,分层储存就可以节省容器的内存空间

6. 批量操作容器

只查看容器的ID

sudo docker ps -q

6.1 停止所有正在运行的容器

sudo docker stop `sudo docker ps -q`

6.2 删除所有的容器

sudo docker rm `sudo docker ps -aq`

7. 查看某个镜像可用的所有版本

但是有一点,需要使用外网才可以,以centos为例

https://hub.docker.com/v2/repositories/library/centos/tags/
curl -s https://hub.docker.com/v2/repositories/library/centos/tags/ | jq 

然后下载指定的版本

8. 操作dockerHub

以下操作必须使用外网才可以

8.1 注册一个docker hub

link:https://hub.docker.com/

8.2 登录个人账号

8.3 在宿主机登录个人docker账号

sudo docker login

8.4 生成本地镜像

以hello-word镜像为例,发送到自己的docker hub中,使用如下命令

sudo docker tag SOURCE_IMAGE[:TAG] TARGET_IMAGE[:TAG]

8.5 推送本地镜像到自己账号中

sudo docker push IMAGE

此时自己的dockerhub中就有该镜像了

8.6 将自己账号的镜像拉下来

我需要将本地的删除,然后拉取

9 根据容器生成新的image

通常我们根据一个image,然后安装了很多的服务,我们希望以后基于该容器进行部署,我们就可以将该容器生成一个新的image

9.1 将容器生成image

sudo docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

9.2 推送image

10. 本地镜像的导出和导入

10.1.1 导出

sudo docker save 镜像ID/镜像名称  > 文件名.tar # 导出的文件时tar的格式

  

10.1.2 导入

sudo docker load -i  文件名.tar # 导出的文件时tar的格式

3. docker的实践玩法的更多相关文章

  1. 朱晔的互联网架构实践心得S2E4:小议微服务的各种玩法(古典、SOA、传统、K8S、ServiceMesh)

    十几年前就有一些公司开始践行服务拆分以及SOA,六年前有了微服务的概念,于是大家开始思考SOA和微服务的关系和区别.最近三年Spring Cloud的大火把微服务的实践推到了高潮,而近两年K8S在容器 ...

  2. 全面解密QQ红包技术方案:架构、技术实现、移动端优化、创新玩法等

    本文来自腾讯QQ技术团队工程师许灵锋.周海发的技术分享. 一.引言 自 2015 年春节以来,QQ 春节红包经历了企业红包(2015 年).刷一刷红包(2016 年)和 AR 红包(2017 年)几个 ...

  3. 【腾讯云的1001种玩法】几种在腾讯云建立WordPress的方法(Linux)(二)

    版权声明:本文由张宁原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/126547001488207964 来源:腾云阁 ht ...

  4. 实战Excel Add-in的三种玩法

    作者:陈希章 发表于 2017年11月26日 前言 这个系列文章应该有一阵子没有更新了,原因是一如既往的多,但是根本所在是我对于某些章节其实还没有完全想好怎么写,尤其是对于Office Add-in这 ...

  5. WEB安全新玩法 [1] 业务安全动态加固平台

    近年来,信息安全体系建设趋于完善,以注入攻击.跨站攻击等为代表的传统 Web 应用层攻击很大程度上得到了缓解.但是,Web 应用的业务功能日益丰富.在线交易活动愈加频繁,新的安全问题也随之呈现:基于 ...

  6. 真正“搞”懂HTTP协议07之body的玩法(实践篇)

    我真没想到这篇文章竟然写了将近一个月,一方面我在写这篇文章的时候阳了,所以将近有两周没干活,另外一方面,我发现在写基于Node的HTTP的demo的时候,我不会Node,所以我又要一边学学Node,一 ...

  7. [C#] 软硬结合第二篇——酷我音乐盒的逆天玩法

    1.灵感来源: LZ是纯宅男,一天从早上8:00起一直要呆在电脑旁到晚上12:00左右吧~平时也没人来闲聊几句,刷空间暑假也没啥动态,听音乐吧...~有些确实不好听,于是就不得不打断手头的工作去点击下 ...

  8. git分布式版本控制玩法

    git分布式版本控制玩法 Git distributed version control play github的配置安装步骤:1.下载git bash(从http://www.git-scm.com ...

  9. 自定义 checkbox 新玩法 ?

    自定义 checkbox 新玩法 ? 第一步:selector 编写 drawable/selector_checkbox_voice.xml <?xml version="1.0&q ...

  10. 【第1期】腾讯云的1001种玩法征集,Ipad mini和Kindle 等你拿!(文章评审中)

    版权声明:本文由阁主的小跟班原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/695994001482226944 来源:腾云 ...

随机推荐

  1. DSLinux介绍

    本发行版 名字叫 Damn Small Linux 整个磁盘大小是40多M, 相对于如今几十G起步的操作系统(对, 就是你Windows), 确实太tm小了 Kernel版本是2.4.26, 2004 ...

  2. CISCN2021东北赛区-Maple_root-WriteUp

    参赛队员: x0r,b477eRy,f1oat 总结 最终成绩:3627 最终排名:13 一血数量:3 本次比赛前期一切顺利,后期感觉被py爆了,结果名次就拉了下来,整体题目全部都偏向MISC,打的很 ...

  3. pandas之画图

    Pandas 在数据分析.数据可视化方面有着较为广泛的应用,Pandas 对 Matplotlib 绘图软件包的基础上单独封装了一个plot()接口,通过调用该接口可以实现常用的绘图操作.本节我们深入 ...

  4. [数据库]MySQL之备份与恢复【未完待续】

    1 恢复 方式一 source sqlFile.sql 登陆MySQL 创建数据库db (create database db;) 进入/使用 数据库db (use db;) 将要导入的sql文件放到 ...

  5. 随手记:lnmp 安装完 redis 后无法全局操作

     说明redis-server不是全局命令,那么假如到全局即可 假设redis安装目录是:/usr/local/redis/bin/redis-cli ln -s /usr/local/redis/b ...

  6. PHP安全有帮助的一些函数

    安全是编程非常重要的一个方面.在任何一种编程语言中,都提供了许多的函数或者模块来确保程序的安全性.在现代网站应用中,经常要获取来自世界各地用户的输入,但是,我们都知道"永远不能相信那些用户输 ...

  7. 什么是BFC,BFC的作用,以及怎么触发BFC

    什么是BFC: 块级格式化上下文 BFC的作用: BFC其实就是规定了网页布局的规范     1.BFC就是页面上的一个独立容器,容器里面的元素不会影响到外面的元素     解释:BFC的基本改变,最 ...

  8. 【vue3-element-admin 】基于 Vue3 + Vite4 + TypeScript + Element-Plus 从0到1搭建后台管理系统(前后端开源@有来开源组织)

    vue3-element-admin 是基于 vue-element-admin 升级的 Vue3 + Element Plus 版本的后台管理前端解决方案,技术栈为 Vue3 + Vite4 + T ...

  9. Xxl-job安装部署以及SpringBoot集成Xxl-job使用

    1.安装Xxl-job: 可以使用docker拉取镜像部署和源码编译两种方式,这里选择源码编译安装. 代码拉取地址: https://github.com/xuxueli/xxl-job/tree/2 ...

  10. 关于页面重定向https安全漏洞和服务器SSH加密算法漏洞

    1.HTTP 严格传输安全 nginx配置 add_header Strict-Transport-Security "max-age=63072000; includeSubdomains ...