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. mysql - tmp_table_size & max_heap_table_size

    Command-Line Format --tmp_table_size=# System Variable Name tmp_table_size Variable Scope Global, Se ...

  2. git 使用经验与技巧总结 (不断更新中)

    git 使用技巧总结   说明: 本地repo已经有啦,对应的远程repo 为tiger, 本地分支为master.    问题一: 当拉取代码的remote repo仓库为tiger, 而现在要将修 ...

  3. 【转】java平台的编码问题 getByte()所用编码

    java平台的编码问题 getByte()所用编码 2013-09-30 11:31:22|  分类: java |  标签:java  编码  getbytes()  |字号 订阅     众所周知 ...

  4. springboot 多环境配置yml或properties

    https://www.cnblogs.com/mr-yang-localhost/p/8971327.html   springboot 多环境配置 https://blog.csdn.net/li ...

  5. postman 脚本学习

    pm的脚本断言库默认似乎是集成chaijs的.所以重点也要掌握chaijs的用法,其实和其他断言库类似.玩着玩着就会了.推荐看看 简书 chaijs 中文文档 传送门: # pm 脚本的教程 http ...

  6. MapReduce中,new Text()引发的写入HDFS的输出文件多一列的问题

    前段时间业务系统有个模块数据没有了,在排查问题的时候发现中间处理环节出错了,错误日志为文件格式不正确,将数据导出后发现这个处理逻辑的输入文件中每一行都多了一列,而且是一个空列(列分隔符是\t).第一次 ...

  7. [sql]mysql5.6cmake安装/mysql5.7二进制安装

    centos7上cmake编译安装mysql-5.6.36.tar.gz 系统环境 - 环境(安装前规划好主机名,mysql编译过程会用) [root@n1 mysql-5.6.36]# cat /e ...

  8. Python Socket网络编程详解

    Socket 简介 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. s ...

  9. CCImage

    #ifndef __CC_IMAGE_H__ #define __CC_IMAGE_H__ //派生于CCObject #include "cocoa/CCObject.h" // ...

  10. (原创)c++11改进我们的模式之改进单例模式

    我会写关于c++11的一个系列的文章,会讲到如何使用c++11改进我们的程序,本次讲如何改进我们的模式,会讲到如何改进单例模式.观察者模式.访问者模式.工厂模式.命令模式等模式.通过c++11的改进, ...