下载,安装

安装Windows社区版 官网地址:https://store.docker.com/editions/community/docker-ce-desktop-windows?tab=description

但是官网很慢:推荐这个地址,https://oomake.com/download/docker-windows 很快     //   貌似不行

再贴一个中文官网  https://www.docker-cn.com/

概念

docker镜像 可以创建docker容器 

docker镜像  好比  类

docker容器  好比  对象

容器可以看做一个简易版的Linux环境。

仓库是集中存放镜像的场所。

仓库和仓库注册服务器是不一样的,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含多个镜像,每个镜像有不同的标签。

仓库分为私有仓库和公开仓库。

最大的公开仓库是Docker Hub

在线安装docker   ,centos6.8版本

cat /etc/redhat-release        查看linux版本

yum install -y epel-release   安装docker所需要的库

yum install docker-io           安装docker

service docker start         启动docker

docker version               查看版本

配置阿里云镜像加速器

vim /etc/sysconfig/docker    编辑docker配置文件

other_args="--registry-mirror=https://你的阿里云.mirror.aliyuncs.com"

service docker restart  重启

ps -ef|grep docker     检查是否生效,后面会带着地址。

hello-world第一个docker程序启动

docker run hello-world  就ok。docker会在本地找hello-world这个镜像,如果没有,就回去阿里云上仓库拉取到本地,然后启动。

docker常用的命令

查看镜像

docker images    //查看本地的docker镜像

docker images -a    列出本地所有镜像   包含中间映像层  。

docker images -q    只显示镜像Id

docker images --digests    显示镜像的摘要信息

docker images --digests  --no-trunc   显示完整的镜像信息

删除镜像

docker  rmi  hello-world    //正在运行的不能删除,会报错

docker  rmi  -f  hello-world   // 强制删除

docker  rmi  -f  hello-world   nginx   // 删除多个

docker  rmi  -f  $(docker images -qa )  // 全部删除

启动镜像

docker run -d  镜像名    以守护进程的方式进行启动   但是docker ps  不会显示启动的docker  这样启动后台会立即关闭,这是docker的特性。你需要这样启动

docker run -d centos  /bin/sh  -c ''while true ; do echo hello zzyy; sleep 2;done"   这句话的意思是以后台启动但是没个2秒打印一句hello zzyy 这样docker就不会启动就立即关闭了。docker ps就可以查看进程了

docker run -it --name mydocker 镜像名   给容器起一个别名,并以交互的方式启动

docker logs -f -t --tail 容器id   -t  时间戳  -f跟随最新的日志打印 --tail  数字,显示最后多少条

docker inspect 45vajs78689   查看docker容器详细信息  json信息

docker  attach   容器id    进去docker容器   ------但是会卡住,不知道原因。可以用下面的命令

docker exec -it containerID /bin/bash   // 进去容器

docker exec -t 容器id  ls  -l  /tmp   意思是在宿主机不进去容器来操作容器

docker run -it -p 8888:8080 tomcat    -p   主机端口 :docker容器端口   -P随机分配端口   i:交互  t:终端    docker对外暴露的是8888端口,真正访问的是docker容器的8080端口

docker run -i -t -v /download:/mnt/software 1f879014f4d2 /bin/bash    将本地的文件挂载到docker中

docker run -i -t -v /download:/mnt/software :ro 1f879014f4d2 /bin/bash    将本地的文件挂载到docker中  ,ro的意思容器不能写,只能读

  1. 其中,相关参数包括:
  2. -i:表示以“交互模式”运行容器
  3. -t:表示容器启动后会进入其命令行
  4. -v:表示需要将本地哪个目录挂载到容器中,格式:-v <宿主机目录>:<容器目录>   路径要是绝对路径

docker start  容器Id    启动之前退出的容器

退出容器

exit  容器停止退出       或者  Ctrl+d

ctrl+p+q   容器不停止退出

如果退出容器后,可以再次使用命令(注意,得先运行docker run之后然后被stop掉的容器才可以使用如下命令)        docker start 容器ID

docker kill  容器id    杀死进程

复制文件

docker cp 容器id : /usr/local/my.txt  /tmp/c.txt     意思是把容器内的文件拷贝到宿主机上

自定义镜像

docker commit  -a="zzyy"  -m="del tomcat docs "  d6o9862k  yixin/tomcat:1.2

-a  作者   -m  信息    容器id    起的镜像名字

docker基础篇的更多相关文章

  1. 小白入门Docker基础篇

    docker是什么 百科上的解释是这样的: Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化 ...

  2. Docker 基础篇 入门篇

    1.Docker入门 1.为什么要用docker? 相比于传统: 部署非常慢 成本非常高 资源浪费 难于迁移和扩展 可能会被限定硬件厂商 由于物理机的诸多问题,后来出现了虚拟机 一个物理机可以部署多个 ...

  3. docker(基础篇)

    http://naotu.baidu.com/file/f02773930afb2d3d9e71621249099d31 centos7安装  https://yq.aliyun.com/articl ...

  4. 小白学Docker之基础篇

    系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm PS: 以下是个人作为新手小白学习docker的笔记总结 1. docker是什么 百科上的 ...

  5. Docker虚拟化实战学习——基础篇(转)

    Docker虚拟化实战学习——基础篇 2018年05月26日 02:17:24 北纬34度停留 阅读数:773更多 个人分类: Docker   Docker虚拟化实战和企业案例演练 深入剖析虚拟化技 ...

  6. Docker之基础篇

    小白学Docker之基础篇   系列文章: 小白学Docker之基础篇 小白学Docker之Compose 小白学Docker之Swarm PS: 以下是个人作为新手小白学习docker的笔记总结 1 ...

  7. Docker镜像管理基础篇

    Docker镜像管理基础篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.Docker Images Docker镜像还有启动容器所需要的文件系统及其内容,因此,其用于创建并启 ...

  8. Docker基础用法篇

    Docker基础用法篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.安装docker 1>.依赖的基础环境 64 bits CPU Linux Kerner 3.10+ ...

  9. docker+k8s基础篇五

    Docker+K8s基础篇(五) service资源介绍 A:service资源的工作特性 service的使用 A:service字段介绍 B:ClusterIP的简单使用 C:NodePort的简 ...

随机推荐

  1. NSLog debug时打印 release时不打印

    创建.h文件,添加以下代码 #ifdef  DEBUG #define NSLog(...)  NSLog(__VA_ARGS__) #else #define NSLog(...)  {} #end ...

  2. [百家号]雷电3和USB Type-C究竟有什么区别?

    雷电3和USB Type-C究竟有什么区别? https://baijiahao.baidu.com/s?id=1617271490773519582&wfr=spider&for=p ...

  3. 配合es5.8的使用,升级sb版本到2.X,遇到一个问题

    问题:Failed to bind properties under 'spring.redis.jedis.pool.max-wait' to java.time.Duration: Propert ...

  4. CPK公式

    CP:Cp = (USL-LSL)/6σ  USL上限值.LSL下限值.σ为产品特性值总体标准差: CPK:Cpk=Cp-|M-μ|/3σ  μ为产品特性值的总体均值,σ为产品特性值总体标准差,M為目 ...

  5. Python——信号量

    信号量 某一段代码,同一时间,只能被N个进程使用 import time import random from multiprocessing import Porcess from multipro ...

  6. JavaScript——AJAX

    AJAX技术是网页构建的必备技能之一,本文希望能帮助大家轻松的学习这项技术 一.什么是ajax? ajax(异步javascript xml) 能够刷新局部网页数据而不是重新加载整个网页. 二.如何使 ...

  7. BZOJ2553[BeiJing2011]禁忌——AC自动机+概率DP+矩阵乘法

    题目描述 Magic Land上的人们总是提起那个传说:他们的祖先John在那个东方岛屿帮助Koishi与其姐姐Satori最终战平.而后,Koishi恢复了读心的能力…… 如今,在John已经成为传 ...

  8. EF 更新 删除

    为了避免先查询后更新或删除的问题 可以使用如下语句 Entities db = new Entities(); Orders o = new Orders(); o.id = 6; o.name = ...

  9. day12-13 文件操作b模式

    为什么需要用到二进制的形式?我们默认的r w a 其实是rt wt at 即txt模式如果是图片,视频,音频,是无法用txt打开的,只能用b模式处理 b 模式是以字节形式打开 f = open(&qu ...

  10. 2019 Android 高级面试题总结

    说下你所知道的设计模式与使用场景 a.建造者模式: 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示. 使用场景比如最常见的AlertDialog,拿我们开发过程中举例,比如C ...