Docker —— 从入门到实践

http://udn.yyuap.com/doc/docker_practice/introduction/index.html

非常详细的Docker学习教程

https://blog.csdn.net/zmx729618/article/details/72930474/

Docker入门实战

https://yuedu.baidu.com/ebook/d817967416fc700abb68fca1?pn=1&rf=https%3A%2F%2Fyuedu.baidu.com%2Fsearch%3Fword%3Ddocker%26pbook%3D0

Docker for Mac 安装

https://docs.docker.com/docker-for-mac/install/

基本概念:

Docker 包括三个基本概念

  • 镜像(Image)

  • 容器(Container)

  • 仓库(Repository)

Docker 镜像就是一个只读的模板。

例如:一个镜像可以包含一个完整的 ubuntu 操作系统环境,里面仅安装了 Apache 或用户需要的其它应用程序。

镜像可以用来创建 Docker 容器。

Docker 提供了一个很简单的机制来创建镜像或者更新现有的镜像,用户甚至可以直接从其他人那里下载一个已经做好的镜像来直接使用。

Docker 利用容器来运行应用。

容器是从镜像创建的运行实例。它可以被启动、开始、停止、删除。每个容器都是相互隔离的、保证安全的平台。

可以把容器看做是一个简易版的 Linux 环境(包括root用户权限、进程空间、用户空间和网络空间等)和运行在其中的应用程序。

仓库是集中存放镜像文件的场所。有时候会把仓库和仓库注册服务器(Registry)混为一谈,并不严格区分。实际上,仓库注册服务器上往往存放着多个仓库,每个仓库中又包含了多个镜像,每个镜像有不同的标签(tag)。

仓库分为公开仓库(Public)和私有仓库(Private)两种形式。

最大的公开仓库是 Docker Hub,存放了数量庞大的镜像供用户下载。 国内的公开仓库包括 Docker Pool等,可以提供大陆用户更稳定快速的访问。

当然,用户也可以在本地网络内创建一个私有仓库。

当用户创建了自己的镜像之后就可以使用 push 命令将它上传到公有或者私有仓库,这样下次在另外一台机器上使用这个镜像时候,只需要从仓库上 pull 下来就可以了。

基本命令:

查找镜像     sudo docker search ubuntu:14.04

下载镜像    sudo docker pull ubuntu:14.04

显示本地镜像   sudo  docker images

创建容器    sudo docker run --name test -it ubuntu:14.04 /bin/bash    -d命令可用于后台运行容器   -p 用于端口映射  -p 8140 或者 -p 8140:8080两种用法

修改容器后保存为新的镜像    sudo docker commit -a "zc" -m "my ubuntu" 593672a640ef ubuntu:base

利用Dockerfile创建镜像    sudo docker build

从本地系统导入    sudo docker import

上传镜像    sudo docker push

存出镜像    sudo docker save -o ubuntu_14.04.tar ubuntu:14.04

载入镜像  sudo docker load --input ubuntu_14.04.tar
移除容器  sudo docker rm test

移除镜像    sudo docker rmi ubuntu:14.04

开始/停止/杀死容器    sudo docker start/stop/kill

连接到已有的容器    sudo docker exec -it 5936 /bin/bash

Commands:

attach      Attach to a running container

build       Build an image from a Dockerfile

commit      Create a new image from a container's changes

cp          Copy files/folders between a container and the local filesystem

create      Create a new container

deploy      Deploy a new stack or update an existing stack

diff        Inspect changes to files or directories on a container's filesystem

events      Get real time events from the server

exec        Run a command in a running container

export      Export a container's filesystem as a tar archive

history     Show the history of an image

images      List images

import      Import the contents from a tarball to create a filesystem image

info        Display system-wide information

inspect     Return low-level information on Docker objects

kill        Kill one or more running containers

load        Load an image from a tar archive or STDIN

login       Log in to a Docker registry

logout      Log out from a Docker registry

logs        Fetch the logs of a container

pause       Pause all processes within one or more containers

port        List port mappings or a specific mapping for the container

ps          List containers

pull        Pull an image or a repository from a registry

push        Push an image or a repository to a registry

rename      Rename a container

restart     Restart one or more containers

rm          Remove one or more containers

rmi         Remove one or more images

run         Run a command in a new container

save        Save one or more images to a tar archive (streamed to STDOUT by default)

search      Search the Docker Hub for images

start       Start one or more stopped containers

stats       Display a live stream of container(s) resource usage statistics

stop        Stop one or more running containers

tag         Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE

top         Display the running processes of a container

unpause     Unpause all processes within one or more containers

update      Update configuration of one or more containers

version     Show the Docker version information

wait        Block until one or more containers stop, then print their exit codes

1.docker学习的更多相关文章

  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 ...

  10. Docker 学习8 Dockerfile详解2

    一.继续上章节Docker学习7 CMD命令后. 11.ENTRYPOINT a.容器启动后相当于会启动ENTRYPOINT + CMD 命令,CMD相当于参数传给entrypoint的 [root@ ...

随机推荐

  1. java抓取12306火车余票信息

    最近在弄一个微信的公众帐号,涉及到火车票查询,之前用的网上找到的一个接口,但只能查到火车时刻表,12306又没有提供专门的查票的接口.今天突然想起自己直接去12306上查询,抓取查询返回的数据包,这样 ...

  2. 日期增加天数--JS Date

    //日期加天数的方法 //dataStr日期字符串 //dayCount 要增加的天数 //return 增加n天后的日期字符串 function dateAddDays(dataStr,dayCou ...

  3. PHP 批量操作 Excel

    自己封装了一个批量操作excel文件的方法,通过xls文件地址集合遍历,第三个参数传入一个匿名函数用于每个需求的不同进行的操作,实例中我想要得到列表中含有折字的行,封装成sql语句返回. xls文件超 ...

  4. windows Server 2008 r2-搭建FTP服务器

    FTP协议介绍 FTP协议工作在OSI参考模型的第七层,TCP模型的第四层上(即应用层上).使用FTP传输而不是UDP,与服务端建立连接经过三次握手. FTP端口介绍 FTP默认端口是21,.(21端 ...

  5. vncserver 启动停止方式

    vnc启停方式:vncserver :1  ; vncserver -kill :1

  6. 安装ANSYS19.0的正确方法(附下载)

    安装ANSYS19.0的正确方法 卸载干净旧版本ANSYS 安装或重新安装之前必须先卸载干净,安装过旧版本ANSYS的也要确保卸载干净.电脑环境准备参考以下内容 ANSYS 卸载后重装需要注意的问题_ ...

  7. 笔记-python-standard library-19.2 json

    笔记-python-standard library-19.2 json 1.      JSON简介 JSON(JavaScript Object Notation, JS 对象简谱) 是一种轻量级 ...

  8. HighCharts实现双Y轴

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Default.aspx.c ...

  9. 使用charles进行https抓包

    一.charles电脑端设置 1.在Charles的菜单栏上选择"Proxy"->"Proxy Settings",填入代理端口8888(这个端口不一定填 ...

  10. 学习python3之路的第一个小代码-----------9*9乘法表

    这个编写的简单,用两个循环迭代就行.下面就是我写的编码以及输出的结果 1 #!/usr/bin/env python 2 # encoding: utf-8 3 4 i = 1 5 6 while i ...