一.容器的基本操作

1. 启动容器

docker run IMAGE [COMMAND] [ARG...]

run 在新容器中执行命令

eg: docker run ubuntu echo 'Hello World'
输出内容的同时,启动的容器已经停止,这是一个实行单次命令的容器

2. 启动交互式容器

docker run -i -t  IMAGE /bin/bash

-i --interactive=true|false 默认是false

-t --tty=true|false 默认是false
eg:
docker run -i -t ubuntu /bin/bash
ps -ef
exit(退出)

3.查看容器

docker ps [-a][-l] 默认显示正在运行中的容器

-a 列出所有的容器

-l 列出最新创建的容器
$ docker inspect [容器id/容器Name]

4.自定义容器名

docker run --name=自定义名 -i -t IMAGE /bin/bash

eg: docker run --name=container01 -i -t ubuntu /bin/bash

5.重新启动停止的容器

docker start [-i] 容器名(-i已交互的方式)

eg: docker start -i container01

6.删除停止的容器

docker rm 容器名/id (只能删除停止的容器)

二.守护式容器

1.以守护形式运行容器

什么是守护式容器? 长期运行的容器,没有交互式的会话,适合应用程序运行
docker run -i -t IMAGE /bin/bash
Ctrl+P Ctrl+Q    (后台运行)
docker ps 可以查看到正在运行的容器

2.附加到运行中的容器

docker attach 容器名/id

3.启动守护式容器

docker run -d 镜像名 [COMMAND][ARG...]

eg: $ docker run --name dc1 -d ubuntu /bin/sh -c "while true;do echo hello world;sleep 1;done"

(使用shell脚本,当任务执行完,守护式容器依旧会停止)

4. 查看容器日志

docker logs [-f] [-t] [--tail] 容器名

-f --follows=true|false 默认为false (一直跟踪日志的变化,并返回结果)

-t --timestamps=true}false 默认为false (在返回的结果上加上时间戳)
--tail="all" (返回的结尾处多少数量的日志,不指定则返回所有的日志)
eg:
docker logs -tf --tail 10 dc1
docker logs -tf --tail 0 dc1 (tail 0 只显示最新的日志)

5.查看容器内进程

docker top 容器名

6.在运行中的容器内启动新进程

docker exec [-d] [-i] [-t] 容器名 [COMMAND] [ARG...]    (与run命令相似)

7.停止守护式容器

docker stop 容器名 (会等待容器的停止)
docker kill 容器名 (直接停止容器)

8.使用Docker帮助文件

man docker-run
man docker-logs
man docker-top
man docker-exec
...

三.在容器中部署静态站点

1.设置容器的端口映射

run [P] [p]
-P, --publish-all=true|false 默认为false 为容器暴露的所有端口进行映射
eg: docker run -P -i -t ubuntu /bin/bash
-p, --publish=[] 能够制定映射容器的哪些端口
  1. containerPort 只制定容器的端口,宿主机的端口随机映射
eg: docker run -p 80 -i -t ubuntu /bin/bash
  1. hostPort:containerPort 同时制定宿主机端口和容器端口,一一对应
eg: docker run -p 8080:80 -i -t ubuntu /bin/bash
  1. ip::containerPort
eg: docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash
  1. ip:hostPort:containerPort
eg: docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash

2.Nginx部署流程

  1. 创建映射80端口的交互式容器
  2. 安装Nginx
  3. 安装文本编辑器vim
  4. 创建静态页面
  5. 修改Nginx配置文件
  6. 运行Nginx
  7. 验证网站访问
docker run -p 80 --name web -i -t ubuntu /bin/bash
apt-get install -y nginx
apt-get install -y vim
mkdir -p /var/www/html
cd /var/www/html
vim index.html

<html>
<head><title>Nginx in docker</title>
</head>
<body><h1>Hello, I'm website in docker!</h1>
</body>
</html>

whereis nginx
vim /etc/nginx/sites-enabled/default
修改root 的值为静态网站根目录(/var/www/html)
cd /    返回根目录
nginx    运行nginx
ps -ef    查看nginx进程

Ctrl+P Ctrl+Q 退出

docker ps 查看容器映射的端口
docker port web 查看容器端口映射情况
docker top web 查看容器中进程运行的情况
  1. 通过宿主机的ip地址查看
curl http://127.0.0.1:*** 查看网站返回内容
  1. 通过容器的ip地址查看
docker inspect web 获取容器的ip地址
curl http://容器ip
docker stop web 重启容器
docker start web
docker exec web nginx
docker inspect web
停止一个容器并重新启动时,原先的ip地址和映射的端口也不一样

转载于:https://www.cnblogs.com/Hai--D/p/6932629.html

Docker基本命令与使用 —— Docker容器(一)相关推荐

  1. Docker基本命令

    Docker基本命令 文章目录 Docker基本命令 基本命令 查看Docker 版本 `docker version` 查看Docker系统信息 `docker info` Docker查看帮助文档 ...

  2. Docker基本命令(二)之 容器卷使用、DockerFile

    目录 相关阅读 前言 容器数据卷 使用容器数据卷 挂载 查询 具名和匿名挂载 权限 使用Dockerfile实现挂载 实战:mysql挂载容器卷 实战:mysql容器间共享数据 DockerFile ...

  3. 什么是Docker?Docker安装及镜像、容器的基本命令实验+理论!!!

    文章目录 一.Docker简介 1.什么Docker? 2.Docker使用的机制? 3.Docker的三要素? 3.1 镜像 3.2 容器 3.3 仓库 3.3.1 public(公有仓库) 3.3 ...

  4. centos7 docker删除端口映射_容器Docker详解

    概述 基本概念Docker是一个开源的应用容器引擎,基于Go语言并遵从Apache2.0协议开源.Docker可以让开发者打包他们的应用以及依赖包到一个轻量级.可移植的容器中,然后发布到任何流行的Li ...

  5. Docker 基本命令(二)

    前言 最近看了极客学院的视屏,学到了一点新的东西.在此,继续总结一下. docker相关基本命令 docker info 查看文件存储物理地址和docker驱动 容器基本命令 启动容器 docker ...

  6. Docker基本命令集合

    文章目录 一 基本知识了解 1.1 为什么用Docker? 1.2 Docker架构 1.3 镜像 1.4 仓库 1.5 容器 1.6 安装 1.7 原理 二 基本命令 3.1 帮助命令 3.2 镜像 ...

  7. Day15(Js入门、jquery入门、ajax入门、前后端分离开发跨域问题、linux环境准备、jdk_tomcat环境搭建、docker介绍及应用(docker安装、基本命令、安装tomcat))

    js入门 js代码辅助 window–>preferences–>javaScript–>Content Assist .abcdefghijklmnopqrstuvwxyz alt ...

  8. Docker基本命令汇总

    Docker的三大核心概念:镜像.容器.仓库 镜像:类似虚拟机的镜像.用俗话说就是安装文件. 容器:类似一个轻量级的沙箱,容器是从镜像创建应用运行实例,可以将其启动.开始.停止.删除.而这些容器都是相 ...

  9. Docker应用:Kubernetes(容器集群)

    Docker应用:Kubernetes(容器集群) 原文:Docker应用:Kubernetes(容器集群) 阅读目录: Docker应用:Hello World Docker应用:Docker-co ...

最新文章

  1. 口腔微生物——“你的大能量,超乎我想象”
  2. echarts实现柱状图分页展示
  3. 用神经网络的分类行为理解质量到底是什么?
  4. c# 遍历文件夹深度,C#遍历文件夹,直到找到正确的文件
  5. 服务器上的VGA切换原理,VGA切换器使用方法和常见问题说明
  6. 消息模式在实际开发应用中的优势
  7. centos7安装界面、桌面记录(ubuntu没试过)
  8. cmd连接不了mysql_cmd连接mysql操作命令
  9. 每日小记2017.2.20
  10. ai中如何建立阴影_在投资管理中采用AI:公司如何成功建立
  11. java uml建模工具 apk,UML建模工具(Astah Professional)
  12. 图像处理:图像二值化原理
  13. SDL下播放声音文件
  14. thinkphp5+阿里短信发送验证码
  15. java代码实现excel文件数据导入
  16. oracle8i substr,Oracle中INSTR和SUBSTR的用法
  17. ATmega128 串口使用注意事项
  18. 水气泵控制原理,三角波发生电路,LM331M/TR芯片,高速运放芯片
  19. 如何使用艺术字功能?怎么把字体转换成艺术字体?
  20. 基于MATLAB中APP Designer的采样定理的可视化

热门文章

  1. 分布式一致性与共识算法
  2. [Android 插件化(一)] DynamicLoadApk的用法
  3. redhat7配置本地源
  4. nfa确定化 dfa最小化_深度学习中的优化:梯度下降,确定全局最优值或与之接近的局部最优值...
  5. try…except…finally…_用先……再……然后……描写蚂蚁搬家的动作?
  6. 蚌埠粮食经济技师学院计算机,安徽粮食经济技师学院2020年有哪些专业
  7. python分组函数_Python中如何按列分组和按自己的函数汇总
  8. pythonexcel表格教程_python对excel表格的操作
  9. BZOJ-1005-明明的烦恼
  10. Ubuntu、Windows双系统为Ubuntu增加磁盘空间