1. 使用镜像

1.1 在Docker Hub上查找镜像

我们查找一下之前博客里面,推送到Docker Hub里面的bage88/docker-demo,能看到有2个仓库,第一个就是我们上次上传的镜像。点击“Details”进入到详细页面。

1.2 拉取镜像到本地机器

在我们本地虚拟机上执行如下命令,获取该镜像:

docker pull bage88/docker-demo

1.3 了解我们获取的镜像

下载完成之后,通过docker images查看当前机器上已经有的镜像列表。



通过docker inspect IMAGE_ID或者docker inspect IMAGE_NAME查看镜像详细信息。

root@ubuntu-512mb-sfo2-01-gfw:~# docker inspect 3172d41e1212
[
{
"Id": "sha256:3172d41e12122d18216cd3179292e3840963e3d80e6ad70046c7270e85342f11",
"RepoTags": [
"bage88/docker-demo:0.0.1"
],
"RepoDigests": [
"bage88/docker-demo@sha256:26deeeb936586c34f97ece440dc2618984f887e935b5fb81856862d64e9c79a7"
],
"Parent": "sha256:05a60462f8bafb215ddc5c20a364b5fb637670200a74a5bb13a1b23f64515561",
"Comment": "",
"Created": "2017-04-26T04:58:45.421242925Z",
"Container": "50877050a5f2dc0a9c53adeba41f0760fcecca3e0bb9db3ad3f906dbdab9df32",
"ContainerConfig": {
"Hostname": "6b3797ab1e90",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"443/tcp": {},
"80/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NGINX_VERSION=1.11.5-1~jessie"
],
"Cmd": [
"/bin/sh",
"-c",
"#(nop) ADD dir:e9b5928812b2520f4eaf558074546aeffcae14070c6b3aff800660ed4a6bef65 in /usr/share/nginx/html "
],
"ArgsEscaped": true,
"Image": "sha256:05a60462f8bafb215ddc5c20a364b5fb637670200a74a5bb13a1b23f64515561",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": [],
"Labels": {}
},
"DockerVersion": "17.03.1-ce",
"Author": "",
"Config": {
"Hostname": "6b3797ab1e90",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"443/tcp": {},
"80/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NGINX_VERSION=1.11.5-1~jessie"
],
"Cmd": [
"nginx",
"-g",
"daemon off;"
],
"ArgsEscaped": true,
"Image": "sha256:05a60462f8bafb215ddc5c20a364b5fb637670200a74a5bb13a1b23f64515561",
"Volumes": null,
"WorkingDir": "",
"Entrypoint": null,
"OnBuild": [],
"Labels": {}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 181557726,
"VirtualSize": 181557726,
"GraphDriver": {
"Name": "aufs",
"Data": null
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:fe4c16cbf7a4c70a5462654cf2c8f9f69778db280f235229bd98cf8784e878e4",
"sha256:c4a8b7411af46497558e12eb2237a07a9cf31b3d3f9c069d3adcf60e98a092d0",
"sha256:3f117c44afbb0a90d7c5d5db1375280fce40b81f8c3151a684cdd20192c30705",
"sha256:9d59143b04c08194884c22fc72413a22b66cb7715506ca1be2cccbc9babd19bc"
]
}
}
]

2. 使用容器

2.1 以bash shell方式运行容器

# -i :打开并保持容器的标准输入
# -t :分配pseudo-TTY终端并绑定到容器的标准输入上 docker run -t -i bage88/docker-demo /bin/bash

进入容器中,我们可以查看到我们之前复制文件到镜像里面的内容。执行命令

root@ubuntu-512mb-sfo2-01-gfw:~# docker run -t -i bage88/docker-demo /bin/bash
root@94a1f3581ebb:/# cd /usr/share/nginx/html
root@94a1f3581ebb:/usr/share/nginx/html# ls -l
total 12
-rw-r--r-- 1 root root 537 Oct 11 2016 50x.html
drwxr-xr-x 2 root root 4096 Apr 19 01:10 images
-rw-r--r-- 1 root root 669 Apr 19 01:10 index.html
root@94a1f3581ebb:/usr/share/nginx/html#

2.2 以daemon进程方式运行容器

我们常见的Web应用,应该是让容器一直运行,所以需要创建以daemon方式运行容器。

# -d :daemon方式运行容器,退出终端,程序还在运行
# -p :允许指定Host主机一个端口和容器内部一个端口进行隐射。
docker run -d -p 8010:80 bage88/docker-demo

在浏览器访问Host主机的IP+端口,结果如图所示:

2.3 查看容器

查看当前运行的所有容器

docker ps -a

2.4 删除容器

删除容器的命令:

docker rm CONTAINER_ID

参考资料

Docker的学习--命令使用详解

运行第一个容器

使用Docker-Docker for Web Developers(2)的更多相关文章

  1. Docker for Web Developers目录

    在OpenStack在私有云占主导定位之后,后起之秀Docker在PaaS平台.CI/CD.微服务领域展露锋芒.作为Web Developers,我们有必要学习和掌握这门技术. 1. 运行第一个Doc ...

  2. 用Docker封装一个web应用(Django)

    一.复用以前一个封装了SSH的镜像,如果没有封装SSH,可以使用自己的镜像或参考我以前博文:叫板OpenStack:用Docker实现私有云 的前五步 接下来便是正题. 二.部署过程 1.查看镜像 R ...

  3. 【云计算】Docker集中化web界面管理平台shipyard

    Docker集中化web界面管理平台shipyard docker shipyard seanlook                        2015年01月05日发布             ...

  4. docker化java web应用

    一.简介 Docker是一个使用Go语言开发的开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的机器上.Docker的发展速度和火爆程度着实令人惊叹,一 ...

  5. Docker学习笔记三:Docker部署Java web系统

    Docker部署Java Web系统 1.在root目录下创建一个路径test/app mkdir test && cd test&& mkdir app && ...

  6. Docker---(4)Docker 部署spring web项目

    原文:Docker---(4)Docker 部署spring web项目 版权声明:欢迎转载,请标明出处,如有问题,欢迎指正!谢谢!微信:w1186355422 https://blog.csdn.n ...

  7. Docker 运行一个Web应用

    使用 docker 构建一个 web 应用程序. 我们将在docker容器中运行一个 Python Flask 应用来运行一个web应用 参数说明: -d:让容器在后台运行. -P:将容器内部使用的网 ...

  8. Docker构建Python Web环境

    出于寻找Docker对Python相关项目部署的学习,找到腾讯课堂NEXT公开课中[Docker构建Python Web环境]的课程,本文对其进行内容梳理及知识点汇总. 该课程总计6小时左右,是个适合 ...

  9. 如何使用Docker部署Go Web应用

    目录 如何使用Docker部署Go Web应用 Docker部署示例 准备代码 创建Docker镜像 编写Dockerfile Dockerfile解析 From Env WORKDIR,COPY,R ...

  10. Docker - Docker与Vagrant的区别

    Docker Docker - HomePage Wiki - Docker Docker简介 Overview Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协 ...

随机推荐

  1. P1032 字串变换 字符串BFS

    题目描述 已知有两个字串A,BA,B及一组字串变换的规则(至多66个规则): A_1A1​ ->B_1B1​ A_2A2​ -> B_2B2​ 规则的含义为:在 AA中的子串 A_1A1​ ...

  2. 【Java】 剑指offer(55-2) 平衡二叉树

      本文参考自<剑指offer>一书,代码采用Java语言. 更多:<剑指Offer>Java实现合集   题目 输入一棵二叉树的根结点,判断该树是不是平衡二叉树.如果某二叉树 ...

  3. Codeblocks 常用快捷键

    编辑部分: Ctrl + A:全选Ctrl + C:复制Ctrl + X: 剪切Ctrl + V:粘贴Ctrl + Z:撤销Ctrl + S:保存Ctrl + Y / Ctrl + Shift + Z ...

  4. 项目Alpha冲刺——随笔集合

    课程名称:软件工程1916|W(福州大学) 作业要求:项目Alpha冲刺(团队) 团队名称:葫芦娃队 作业目标:汇总这次冲刺项目的所有随笔文件. 队员学号 队员昵称 博客地址 041602421 de ...

  5. Restrictions查询用法

    HQL运算符 QBC运算符 含义 = Restrictions.eq() 等于equal <>  Restrictions.ne() 不等于not equal >  Restrict ...

  6. POJ.2065.SETI(高斯消元 模线性方程组)

    题目链接 \(Description\) 求\(A_0,A_1,A_2,\cdots,A_{n-1}\),满足 \[A_0*1^0+A_1*1^1+\ldots+A_{n-1}*1^{n-1}\equ ...

  7. 洛谷.1251.餐巾计划问题(费用流SPFA)

    题目链接 /* 每一天的餐巾需求相当于必须遍历某些点若干次 设q[i]为Dayi需求量 (x,y)表示边x容y费 将每个点i拆成i,i',由i'->T连(q[i],0)的边,表示求最大流的话一定 ...

  8. Java 8新特性----Lambda

    Lambda 一.如何辨别Lambda表达式 Runnable noArguments = () -> System.out.println("Hello World"); ...

  9. openvpn 的安装和使用方法

    一.安装: 必备条件: 该计算机必须安装了网卡 1.像安装普通软件一样将 openvpn 这个软件安装好 2.到安装目录下/config 中,该目录下默认只有一个 README.txt,然后将企业给的 ...

  10. Unity枚举和字符串的相互转换

    直接上代码,见下图: public enum enumEx { A, B, C, D, } public class enumTest : MonoBehaviour { void Start () ...