1、创建一个容器并启动

1.1、docker hello word

Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。

输出Hello world

[root@jacky ubantu]# docker run ubuntu:15.10 /bin/echo "Hello world"
Hello world

各个参数说明:

  • docker: Docker 的二进制执行文件。

  • run:与前面的 docker 组合来运行一个容器。

  • ubuntu:15.10指定要运行的镜像,Docker首先从本地主机上查找镜像是否存在,如果不存在,Docker 就会从镜像仓库 Docker Hub 下载公共镜像。

  • /bin/echo "Hello world": 在启动的容器里执行的命令

1.2、创建交互式容器并启动

[root@jacky jacky]# docker run --dns 8.8.8.8 --dns 8.8.4.4 -it -P centos:7.2.1511 /bin/bash

各个参数说明:

  • --dns 指定容器使用的DNS服务器,默认和宿主一致
  • -P(大写P)    将容器的80端口映射到主机随机端口

1.3、创建守护式容器并启动

使用镜像nginx:latest以后台模式启动一个容器,将容器的80端口映射到主机的80端口,主机的目录/data映射到容器的/data。

docker run -p : -v /data:/data -d nginx:latest

2、查看本机所有容器

[root@jacky jacky]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9ea0980c3261 nginx:latest "nginx -g 'daemon off" hours ago Up hours 0.0.0.0:->/tcp boring_hawking
25caf2714fe6 ubuntu:15.10 "/bin/bash" hours ago Exited () hours ago houtai-ubuntu
669a12e3d6a3 ubuntu:15.10 "/bin/bash" hours ago Exited () hours ago loving_shirley
1b2abcfbf999 ubuntu:15.10 "/bin/echo 'Hello wor" hours ago Exited () hours ago jolly_kirch
574b3a74c7b2 jacky/ubuntu:14.05 "/bin/bash" hours ago Up hours /tcp, /tcp distracted_meitner
6c76dd14454d 5ae9a10a7f42 "/bin/sh -c 'apt-get " hours ago Exited () hours ago condescending_leavitt
488f3af35f5e centos:7.2. "/bin/bash" hours ago Exited () hours ago drunk_poitras
41b69d7a222e centos:7.2. "/bin/bash" hours ago Exited () hours ago thirsty_feynman

3、查看正在运行的容器

[root@jacky jacky]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9ea0980c3261 nginx:latest "nginx -g 'daemon off" hours ago Up hours 0.0.0.0:->/tcp boring_hawking
574b3a74c7b2 jacky/ubuntu:14.05 "/bin/bash" hours ago Up hours /tcp, /tcp distracted_meitner

4、停止正在运行的容器

[root@jacky jacky]# docker stop 9ea0980c3261

9ea0980c3261表示容器Id

5、运行已经创建好的容器

[root@jacky jacky]# docker start 9ea0980c3261
9ea0980c3261
[root@jacky jacky]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9ea0980c3261 nginx:latest "nginx -g 'daemon off" hours ago Up seconds 0.0.0.0:->/tcp boring_hawking
[root@jacky jacky]#

6、删除容器

[root@jacky jacky]# docker rm 41b69d7a222e
41b69d7a222e

7、查看正在运行的容器

[root@jacky jacky]# docker inspect 488f3af35f5e

说明:如果容器是centos、utuntu等等操作系统容器,是可以看到容器的Ip地址和dns信息

8、进入到容器中

[root@jacky jacky]# docker attach 488f3af35f5e
[root@488f3af35f5e /]#

9、查看容器的端口映射

[root@jacky jacky]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9ea0980c3261 nginx:latest "nginx -g 'daemon off" hours ago Up minutes 0.0.0.0:->/tcp boring_hawking
[root@jacky jacky]# docker port 9ea0980c3261
/tcp -> 0.0.0.0:

通过docker ps 命令可以查看到容器的端口映射,docker还提供了另一个快捷方式:docker port,使用 docker port 可以查看指定 (ID或者名字)容器的某个确定端口映射到宿主机的端口号

10、查看容器内部运行进程

[root@jacky jacky]# docker top 9ea0980c3261
UID PID PPID C STIME TTY TIME CMD
root : ? :: nginx: master process nginx -g daemon off;
: ? :: nginx: worker process

11、查看容器运行日志信息

docker logs -f 7a38a1ad55c6

-f:让 dokcer logs 像使用 tail -f 一样来输出容器内部的标准输出。

docker探索-docker容器基本操作(五)的更多相关文章

  1. Docker学习(3) 容器基本操作

    容器的基本操作

  2. docker探索-docker私有仓库搭建(九)

    前言 本文讲解搭建docker的私有仓库,和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库 一.环境 ip 主机名 操作系统 角色 19 ...

  3. docker探索-docker安装运行tomcat(六)

    前言      本地已经搭建好了,tomcat容器,本来想自己写一篇,在开源中国一篇不错的教程,就转载过来了 本文转自:https://my.oschina.net/sunchp/blog/61652 ...

  4. docker探索-Docker 1.13 编排能力进化(十三)

     简介  docker stack deploy和docker-compose up,这两个命令都是操作compose的yml文件的,有什么区别?想知道这个问题,看下面文章 https://yq.al ...

  5. Docker 容器基本操作[Docker 系列-2]

    ​Docker 入门及安装[Docker 系列-1] 镜像就像是一个安装程序,而容器则是程序运行时的一个状态. 查看容器 查看容器 启动 docker 后,使用 docker ps 命令可以查看当前正 ...

  6. Docker 镜像、容器、仓库的概念及基本操作

    Docker 包括三个基本概念: 镜像(Image)容器(Container)仓库(Repository) 这三部分组成了Docker的整个生命周期,如下图所示,容器是由镜像实例化而来的,这和我们学习 ...

  7. Docker 使用指南 (一)—— 基本操作

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

  8. Docker背后的容器管理——Libcontainer深度解析

    Libcontainer 是Docker中用于容器管理的包,它基于Go语言实现,通过管理namespaces.cgroups.capabilities以及文件系统来进行容器控制.你可以使用Libcon ...

  9. docker~在centos容器中安装新程序

    上一篇我们使用了阿里加速器安装了centos镜像,然后创建了一个新容器,运行了这个镜像,这一讲我们来为这个镜像添加一些应用程序,然后再保存容器,push容器到仓储,大家就可以直接pull我生产的容器了 ...

随机推荐

  1. 【Algorithm】冒泡排序

    一. 算法描述 冒泡排序思想:依次比较相邻的数据,将小数据放在前,大数据放在后:即第一趟先比较第1个和第2个数,大数在后,小数在前,再比较第2个数与第3个数,大数在后,小数在前,以此类推则将最大的数& ...

  2. 【struts2】<package>的配置

    <package>元素可以把逻辑上相关的一组Action.Result.Intercepter等元素封装起来,形成一个独立的模块,package可以继承其他的package,也可以作为父包 ...

  3. [转]使用Runtime.getRuntime().exec()方法的几个陷阱

    Process 子类的一个实例,该实例可用来控制进程并获得相关信息.Process 类提供了执行从进程输入.执行输出到进程.等待进程完成.检查进程的退出状态以及销毁(杀掉)进程的方法. 创建进程的方法 ...

  4. Java 8 – StringJoiner example

    In this article, we will show you a few StringJoiner examples to join String. 1. StringJoiner1.1 Joi ...

  5. Spring boot注解(annotation)含义详解

    Spring boot注解(annotation)含义详解 @Service用于标注业务层组件@Controller用于标注控制层组件(如struts中的action)@Repository用于标注数 ...

  6. Vue Ssr之旅 —— Nuxt

    Nuxt 官方网站:https://nuxtjs.org/ 官方脚手架工具 Create-nuxt-app: https://github.com/nuxt-community/create-nuxt ...

  7. django 自动化测试的故障排查

    [问题背景] django使用mysql做为后台数据库.在使用django的自动化测试命令test时报如下错误 python3 manage.py test polls Creating test d ...

  8. ios使用kvc机制简化对json的解析

    在 ios开发中,我们经常需要对服务器的传回来的json进行解析,特别是对哪些字段特别多的就会又烦躁的情绪.tmd都是一样的东西,要为每个property赋值,真是累人啊.举个简单的例子吧.服务器会过 ...

  9. 关于generate用法的总结

    Abtract generate语句允许细化时间(Elaboration-time)的选取或者某些语句的重复.这些语句可以包括模块实例引用的语句.连续赋值语句.always语句.initial语句和门 ...

  10. [na]ip包格式

    网络层提供的服务就是在不同网段之间转发数据包. Ip包结构 1,格式(每行4byte*5) 2,版本 V4 V6 3,首部长度 20(固定)+可变长度 ,区分服务 Win2008开始:gpedit. ...