搜索镜像
docker search ubuntu 搜索ubuntu的Docker镜像

搜索结果单个单词ubuntu这样的镜像,被称为基础镜像或根镜像,这些基础镜像由 Docker 公司创建
搜索结果tianon/ubuntu 镜像,它是由 Docker 的用户创建并维护的,往往带有用户名称前缀。可以通过前缀 username/ 来指定使用某个用户提供的镜像,比如 tianon 用户

拉取官方最新版的镜像
docker pull ubuntu:latest,其中的latest是一个标签(tag),表示是当前最新版本ubuntu

查看本地镜像
docker images

查看宿主机上的镜像,Docker镜像保存在/var/lib/docker目录下

查看镜像、容器、数据卷所占用的空间
docker system df

显示虚悬镜像:
docker image ls -f dangling=true

根据仓库名列出镜像
docker image ls ubuntu

列出特定的某个镜像,也就是说指定仓库名和标签
docker image ls ubuntu:16.04

删除本地的镜像
docker image rm [选项] <镜像> <镜像> 可以是 镜像短 ID、镜像长 ID、镜像名 或者 镜像摘要
删除有关联的镜像
docker image rm -f

查看当前有哪些容器正在运行
docker ps
查看所有容器
docker ps -a

docker run --name webserver -d -p 80:80 nginx
用 nginx 镜像启动一个容器,命名为 webserver,并且映射了 80 端口

docker exec 命令进入容器
docker exec -it webserver bash

容器中安装软件(比如vim)
apt-get update
apt-get install -y vim

将容器保存为镜像(实际中一般不这么操作)
docker commit 的语法格式为:
docker commit [选项] <容器ID或容器名> [<仓库名>[:<标签>]]
示例:docker commit \
--author "Tao Wang <twang2218@gmail.com>" \
--message "修改了默认网页" \
webserver \
nginx:v2
--author 是指定修改的作者,而 --message 则是记录本次修改的内容

Dockerfile 定制镜像
docker build [选项] <上下文路径/URL/->
示例:
mkdir mynginx
cd mynginx
touch Dockerfile
其内容为:
FROM nginx
RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
构建
docker build -t nginx:v3 .
. 表示当前目录,而 Dockerfile 就在当前目录

启动一个允许交互但命令不保存的容器
docker run -it --rm ubuntu:16.04 /bin/bash
docker run 就是运行容器的命令,--rm:这个参数是说容器退出后随之将其删除,启动一个 bash 终端,允许用户进行交互

启动一个 bash 终端,允许用户进行交互。
docker run -t -i ubuntu:14.04 /bin/bash

后台运行,加-d 参数运行容器
docker run -d ubuntu:17.10 /bin/sh

查看容器信息。
docker container ls

终止容器
docker container stop

查看包括终止状态的容器
docker container ls -a

重新启动
docker container start

进入容器
docker exec -it 容器ID bash

导出容器
docker export 容器ID > ubuntu.tar
导入容器快照
cat ubuntu.tar | docker import - test/ubuntu:v1.0

删除处于终止状态的容器
例如
docker container rm trusting_newton
删除运行中的容器,添加 -f 参数

清理掉所有处于终止状态的容器
docker container prune

Docker Hub仓库
注册Docker 账号,这样可用将自己的镜像推送到 Docker Hub
登录
docker login
退出
docker logout

推送镜像
docker tag ubuntu:17.10 用户名/ubuntu:17.10

私有仓库
使用官方的 registry 镜像来启动私有仓库,默认仓库会被创建在容器的 /var/lib/registry 目录下
docker run -d -p 5000:5000 --restart=always --name
registry registry

将镜像标记
docker tag IMAGE[:TAG] [REGISTRY_HOST[:REGISTRY_PORT]/]REPOSITORY[:TAG]
示例:docker tag ubuntu:latest 127.0.0.1:5000/ubuntu:latest
上传标记的镜像
示例:docker push 127.0.0.1:5000/ubuntu:latest
用 curl 查看仓库中的镜像
curl 127.0.0.1:5000/v2/_catalog

比如想让本网段的其他主机也能把镜像推送到私有仓库。你就得把例如 192.168.199.100:5000 这样的内网地址作为私有仓库地址
systemd 的系统,请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件)
{
"registry-mirror": [
"https://registry.docker-cn.com"
],
"insecure-registries": [
"192.168.199.100:5000"
]
}

数据卷
创建一个数据卷
docker volume create my-vol

查看所有的 数据卷
docker volume ls

查看指定 数据卷 的信息
docker volume inspect my-vol

示例:
创建一个名为web的容器,并加载一个 数据卷 到容器的 /webapp 目录
docker run -d -P \
--name web \
# -v my-vol:/wepapp \
--mount source=my-vol,target=/webapp \
training/webapp \
python app.py

查看数据卷的具体信息
示例:
查看 web 容器的信息
docker inspect web

删除数据卷
docker volume rm my-vol
删除容器的同时移除数据卷,在删除容器的时候使用
docker rm -v
无主的数据卷可能会占据很多空间,要清理请使用以下命令
docker volume prune

外部访问容器
映射到指定地址的指定端口
示例:
可以使用 ip:hostPort:containerPort 格式指定映射使用一个特定地址,比如 localhost 地址 127.0.0.1
docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py

映射到指定地址的任意端口
示例:
使用 ip::containerPort 绑定 localhost 的任意端口到容器的 5000 端口,本地主机会自动分配一个端口。
docker run -d -p 127.0.0.1::5000 training/webapp python app.py

查看映射端口配置
示例:
使用 docker port 来查看当前映射的端口配置,也可以查看到绑定的地址
docker port nostalgic_morse 5000

docker 三剑客之machine:
可能会报virtualbox的相关错误:https://www.jianshu.com/p/20e605b1628a
安装Virtualbox驱动
1、配置Yum源
[root@master ~]# vim /etc/yum.repos.d/virtualbox.repo
[virtualbox]
name=Oracle Linux / RHEL / CentOS-$releasever / $basearch - VirtualBox
baseurl=http://download.virtualbox.org/virtualbox/rpm/el/$releasever/$basearch
enabled=1
gpgcheck=0
repo_gpgcheck=0
gpgkey=https://www.virtualbox.org/download/oracle_vbox.asc
2、查看可安装的版本
[root@master ~]# yum search VirtualBox #查找具体安装版本
[root@master ~]# yum install -y VirtualBox-5.2 #安装
3、加载virtualbox
[root@master ~]# /sbin/vboxconfig #重新加载virtualbox服务
#如果内核版本不一致,会出现上面的报错,需要安装相同的内核版本
4、安装对应的内核版本
[root@master ~]# rpm -ivh kernel-devel-3.10.0-693.el7.x86_64.rpm
[root@slave1 ~]# yum install gcc make perl -y
下载kernel的rpm包:http://www.rpmfind.net/linux/RPM/centos/7.5.1804/x86_64/Packages/kernel-devel-3.10.0-862.el7.x86_64.html
然后再重新创建 Docker 主机
如果报错:Running pre-create checks...
Error with pre-create check: "This computer doesn't have VT-X/AMD-v enabled. Enabling it in the BIOS is mandatory"
需要在vmware虚拟机设置-处理器-虚拟化打开

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

  1. Docker - Docker基础命令及使用

    Docker Docker - 官网 Docker - Hub GitHub - Docker Docker中文社区 Docker基础命令 Docker 查看帮助信息:docker --help 查看 ...

  2. 【云计算】Docker云平台—Docker基础

    Docker云平台系列共三讲,此为第一讲:Docker基础 参考资料: Docker官方文档:https://docs.docker.com/ Docker从入门到实践:https://yeasy.g ...

  3. Docker基础技术:Linux Namespace(下)

    在 Docker基础技术:Linux Namespace(上篇)中我们了解了,UTD.IPC.PID.Mount 四个namespace,我们模仿Docker做了一个相当相当山寨的镜像.在这一篇中,主 ...

  4. Docker 基础技术:Linux Namespace(下)

    导读 在Docker基础技术:Linux Namespace(上篇)中我们了解了,UTD.IPC.PID.Mount 四个namespace,我们模仿Docker做了一个相当相当山寨的镜像.在这一篇中 ...

  5. Docker基础入门及示例

    Docker近几年的发展可谓一日千里,特别从是2013年随着一个基于LXC的高级容器引擎开源,到现在,其在linux和windows上都有了很好的支持,并且已经有很多公司将docker用于实际的生产环 ...

  6. Docker 基础 : 镜像

    目录 获取镜像 查看镜像信息 搜索镜像 删除镜像 创建镜像 导出和导入镜像 上传镜像 总结 镜像是 Docker 的三大核心概念之一.Docker 运行容器前需要本地存在对应的镜像,如果本地没有对应的 ...

  7. Docker 基础技术之 Linux cgroups 详解

    PS:欢迎大家关注我的公众号:aCloudDeveloper,专注技术分享,努力打造干货分享平台,二维码在文末可以扫,谢谢大家. 推荐大家到公众号阅读,那里阅读体验更好,也沉淀了很多篇干货. 前面两篇 ...

  8. docker 基础知识分享ppt

    给团队做的docker基础分享ppt, 见下面的附件. https://files.cnblogs.com/files/harrychinese/docker_intro.pptx

  9. 中标麒麟龙芯平台--docker基础镜像制作

    Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源.Docker 的出现为开发人员和运维人员带来了极大的便利.Docker在X86下常见的发行版Linux如Ub ...

  10. Docker系列03—Docker 基础入门

    本文收录在容器技术学习系列文章总目录 1.概念介绍 1.1 容器 1.1.1 介绍 容纳其它物品的工具,可以部分或完全封闭,被用于容纳.储存.运输物品.物体可以被放置在容器中,而容器则可以保护内容物. ...

随机推荐

  1. 写给OIer们的一些话(修订版)

    我是一个高二的OIer,离我正式退役的日子已经不超过一年了.在这个时期,与其写一些回忆性的文字,不如跳出"自我"的范畴,以一种比较全局的角度和大家一起分享一些我对OI的认知和看法. ...

  2. 转:minhash

    Minhash算法及其应用 一.引言 MinHash算法属于Locality Sensitive Hashing,用于快速估计两个集合的相似度.最早由Broder Andrei Z. 在1997年提出 ...

  3. 题解-CF1239D Catowice City

    CF1239D Catowice City 有 \(n\) 个人和 \(n\) 只猫.有 \(m\) 对人猫友谊,即第 \(u_i\) 个人认识第 \(v_i\) 只猫,保证第 \(i\) 个人和第 ...

  4. Android FART脱壳机流程分析

    本文首发于安全客 链接:https://www.anquanke.com/post/id/219094 0x1 前言 在Android平台上,程序员编写的Java代码最终将被编译成字节码在Androi ...

  5. 抖音数据采集SDK

    接口参数.返回示例请参考文档:抖音api Github仓库:DouyinSDK 0. 初始化 from douyin import AwemeSDK token = 'xxxxxxxx' host = ...

  6. 10分钟快速入门vue.js

    Vue.js是一个轻巧.高性能.可组件化的MVVM库,一套用于构建用户界面的渐进式框架,上手简单,兼容强大. 官方文档:https://cn.vuejs.org/v2/guide/ 下面我们就直接来使 ...

  7. Day1 数据类型

    整数 十六进制和八进制使用0作为前缀,如 0x12f , 010浮点数 可以用科学计数法来表示很大或者很小的浮点数,如 1.23x10^9 可以写作 1.23e9 或者12.3e8 ,0.000012 ...

  8. JavaSE02-基本语法

    1.注释 注释是对代码的解释和说明文字,可以提高程序的可读性,因此在程序中添加必要的注释文字十分重要. Java中的注释分为三种: 单行注释.单行注释的格式是使用//,从//开始至本行结尾的文字将作为 ...

  9. 【Go语言绘图】图片的旋转

    在上一篇中,我们了解了gg库的基本使用,包括调整大小.调整圆形参数.设置颜色.保存图片.加载图片和裁剪.这一篇我们来学习一下图片的旋转. 加载图片 首先,我们先来一张黄图. func TestRota ...

  10. Rest vs Soap 比较

    一.前言 昨天为止,政府的一个公共部门的项目顺利结束,就系统间消息传输这个点,知识点总结一下.本文主要参考octoperf的文章,链接见文末参考资料. 系统中用到的是SOAP协议进行传输数据,有人会立 ...