docker探索-docker容器基本操作(五)
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容器基本操作(五)的更多相关文章
- Docker学习(3) 容器基本操作
容器的基本操作
- docker探索-docker私有仓库搭建(九)
前言 本文讲解搭建docker的私有仓库,和Mavan的管理一样,Dockers不仅提供了一个中央仓库,同时也允许我们使用registry搭建本地私有仓库 一.环境 ip 主机名 操作系统 角色 19 ...
- docker探索-docker安装运行tomcat(六)
前言 本地已经搭建好了,tomcat容器,本来想自己写一篇,在开源中国一篇不错的教程,就转载过来了 本文转自:https://my.oschina.net/sunchp/blog/61652 ...
- docker探索-Docker 1.13 编排能力进化(十三)
简介 docker stack deploy和docker-compose up,这两个命令都是操作compose的yml文件的,有什么区别?想知道这个问题,看下面文章 https://yq.al ...
- Docker 容器基本操作[Docker 系列-2]
Docker 入门及安装[Docker 系列-1] 镜像就像是一个安装程序,而容器则是程序运行时的一个状态. 查看容器 查看容器 启动 docker 后,使用 docker ps 命令可以查看当前正 ...
- Docker 镜像、容器、仓库的概念及基本操作
Docker 包括三个基本概念: 镜像(Image)容器(Container)仓库(Repository) 这三部分组成了Docker的整个生命周期,如下图所示,容器是由镜像实例化而来的,这和我们学习 ...
- Docker 使用指南 (一)—— 基本操作
版权声明:本文由田飞雨原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/98来源:腾云阁 https://www.qcloud ...
- Docker背后的容器管理——Libcontainer深度解析
Libcontainer 是Docker中用于容器管理的包,它基于Go语言实现,通过管理namespaces.cgroups.capabilities以及文件系统来进行容器控制.你可以使用Libcon ...
- docker~在centos容器中安装新程序
上一篇我们使用了阿里加速器安装了centos镜像,然后创建了一个新容器,运行了这个镜像,这一讲我们来为这个镜像添加一些应用程序,然后再保存容器,push容器到仓储,大家就可以直接pull我生产的容器了 ...
随机推荐
- mysql - tmp_table_size & max_heap_table_size
Command-Line Format --tmp_table_size=# System Variable Name tmp_table_size Variable Scope Global, Se ...
- git 使用经验与技巧总结 (不断更新中)
git 使用技巧总结 说明: 本地repo已经有啦,对应的远程repo 为tiger, 本地分支为master. 问题一: 当拉取代码的remote repo仓库为tiger, 而现在要将修 ...
- 【转】java平台的编码问题 getByte()所用编码
java平台的编码问题 getByte()所用编码 2013-09-30 11:31:22| 分类: java | 标签:java 编码 getbytes() |字号 订阅 众所周知 ...
- springboot 多环境配置yml或properties
https://www.cnblogs.com/mr-yang-localhost/p/8971327.html springboot 多环境配置 https://blog.csdn.net/li ...
- postman 脚本学习
pm的脚本断言库默认似乎是集成chaijs的.所以重点也要掌握chaijs的用法,其实和其他断言库类似.玩着玩着就会了.推荐看看 简书 chaijs 中文文档 传送门: # pm 脚本的教程 http ...
- MapReduce中,new Text()引发的写入HDFS的输出文件多一列的问题
前段时间业务系统有个模块数据没有了,在排查问题的时候发现中间处理环节出错了,错误日志为文件格式不正确,将数据导出后发现这个处理逻辑的输入文件中每一行都多了一列,而且是一个空列(列分隔符是\t).第一次 ...
- [sql]mysql5.6cmake安装/mysql5.7二进制安装
centos7上cmake编译安装mysql-5.6.36.tar.gz 系统环境 - 环境(安装前规划好主机名,mysql编译过程会用) [root@n1 mysql-5.6.36]# cat /e ...
- Python Socket网络编程详解
Socket 简介 socket通常也称作"套接字",用于描述IP地址和端口,是一个通信链的句柄,应用程序通常通过"套接字"向网络发出请求或者应答网络请求. s ...
- CCImage
#ifndef __CC_IMAGE_H__ #define __CC_IMAGE_H__ //派生于CCObject #include "cocoa/CCObject.h" // ...
- (原创)c++11改进我们的模式之改进单例模式
我会写关于c++11的一个系列的文章,会讲到如何使用c++11改进我们的程序,本次讲如何改进我们的模式,会讲到如何改进单例模式.观察者模式.访问者模式.工厂模式.命令模式等模式.通过c++11的改进, ...