前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Docker 常用命令及部署

Docker 常用命令及部署

作者头像
haoming1100
发布2019-01-03 15:26:04
6800
发布2019-01-03 15:26:04
举报
文章被收录于专栏:步履前行步履前行

常用命令


1、搜索镜像 $ docker search java

- NAME : 镜像名称 - DESCRIPTION : - STARS : 镜像仓库收藏数 - OFFICIAL : 是否为官方文档 - AUTOMATED : 是否是自动构建的仓库

2、下载镜像 使用 docker pull 命令下载镜像。 如果要指定版本请在命令后面加冒号 <:version> $ docker pull java:8

如果是个人镜像,需要使用 #docker pull 用户名/仓库名

3、 列出镜像 $ docker images

4、删除本地镜像 $ docker rmi java


容器相关命令

1、新建并启动容器 使用 docker run 命令 新建并启动一个容器。 -d 选项:后台运行 -P 选项:注意是大写的,随机端口映射 -p 选项:指定端口映射,有4种格式 --ip:hostPost: containerPort --ip : containerPort -- hostPort:containerPort 比如 docker run -d -p 127.0.0.1:80:80 我们将容器内的80端口绑定到特定IP的80端口 或者docker run -d -p 127.0.0.1::80 绑定到特定IP的随机端口 -- containerPort - network选项,指定网络模式,有下列可选参数 -- network=bridge 默认选项,连接到默认的桥接 -- network=host 容器使用宿主机网络 -- network=containerName-or-ID 告诉Docker 让新建的容器使用已有的容器的配置

-v 挂载卷 -link 创建2个容器间的客户服务链接 Docker1.9 之前容器通信使用。之后不推荐。缺点是 Docker不能链接位于不同宿主机的容器

Nginx 镜像 # docker run -d -p 91:80 nginx 启动一个nginx 容器, -d 后台运行 -p 宿主机端口:容器端口 描述:开放容器端口到宿主机端口

使用 # ip addr 查看容器ip

docker run 命令在创建容器的时候,会先检查本地是否有指定的镜像,如果没有就从 Docker hub 下载一个新镜像。


Ubuntu 镜像(容器内部操作) # docker run -i -t ubuntu /bin/bash -t 伪tty 终端 -i 保证容器得 STDIN 是开启得 /bin/bash 命令启动了一个 Bash shell

注意圈出得地方,使用-t 伪造了 tty,然后在容器运行后直接进入到了容器内部(Docker 建议非必须,不要操作容器,而是使用 Dockerfile 文件命令) 1、 ef4aea4fa736 代表得是容器得ID 使用 # hostname 命令也可以获取 2、 查看 hosts 文件 # cat /etc/hosts 文件

Docker 给该容器得 IP 地址添加了一条 主机配置项

不管是Nginx 容器还是 ubuntu 容器, 都拥有自己的网络,IP地址,以及一个用来和宿主机进行通信得桥接网络接口。


2、 列出容器 # docer ps

如果需要列出所有的镜像,需要加 -a。之前的Java 是镜像 - CONTAINER ID : 容器名称 - INAGE : 镜像名称 - COMMAND: 启动容器运行时的命令 - STATUS: 容器的创建时间 up 代表启动 - PORTS: 对外的端口号 - NAMES: 容器名称,由 Docker 默认生成,也可以使用 docker run 命令的 --name 选项指定

3、容器命名 # docker run --name haoming_container_nginx -i -t nginx -- name 别名 -t tag

4、停止容器 使用 docker stop 命令。 # docker stop b8d47eaa6588 b8d47eaa6588 是容器 ID,也可以使用 docker stop 容器名称 来指定容器

:下面同情况 5、强制停止容器 使用 docker kill 命令发送 SIGKILL 信号来强制停止容器 # docker kill ID

6、启动已经停止的容器 使用 docker run 命令是新建并且启动,使用 docker start 命令 启动 # docker start ID 由于某种错误导致容器停止得,可以使用 --restart 标志,自动重启 # docker run --restart=always always表示总是重启,还有 on-failure参数,表示只有退出代码是非0时才重启。on-failure 还可以指定重启次数 --restart=on-failure:5

7、查看容器的所有信息 # docker inspect ID 也可以使用 -f 或者 --format 标志来选定结果 比如 # docker inspect --format='{{ .State.Running}}' daemon_dave # docker inspect --format='{{ .Driver}}' daemon_dave 8、查看容器日志 # docker container logs ID

9、 查看容器里的进程 #docker top ID

#问?是否可以通过 容器的IP 和 容器的对外端口访问容器 宿主机访问

10、进入容器 # docker container exec -it ID /bin/bash

容器内部 是简单的 Linux 系统 Nginx 默认目录在 cd /usr/share/nginx/html/

11、退出容器 # exit

12、守护式容器 守护式容器没有交互式会话,非常适合运行应用程序和服务。 大多时候我们都需要以守护式来运行我们得容器 # docker run --name daemon_dave -d ubuntu /bin/bash -c "while true; do echo hello world; sleep 1; done" -d 后台运行 -c shell 命令

12.1 查看容器内部日志 # docker logs daemon_dave

也可以使用 -f 实时输出 与 tail -f 类似 既然有 -f, 那么 tail -n 也应该有 # docker logs --tail 10 daemon_dave 获取最后10行

13、日志驱动 --log-driver 可以在启动容器得时候添加 可用得选项包括 默认得 json-file,json-file 为前面得 docker logs命令提供了基础 其他可用得选项还包括 syslog,该选项将禁用 docker logs 命令,并将容器所有得日志都重定向到 Syslog 14、查看容器内进程 # docker top daemon_dave

15 统计容器得使用情况 # docker status <ID or name> <ID or name> <ID or name>

16 、容器内部运行进程 在Docker 1.3 之后,可以通过 docker exec 命令在容器内部额外启动新进程 比如 # docker exec -d daemon_dave touch /etc/new_config_file 解释:在容器内部创建一个空文件,通过 docker exec 后台命令,可以在运行得容器中进行维护,监控和管理 # docker exec -t -i daemon_dave /bin/bash -t 创建 tty -i 捕捉STDIN

17、删除容器 # docker rm ID 从 Docker 1.6.2 开始,可以通过 docker rm -f 来删除运行中得容器,之前得版本必须要先 stop 或者kill 才能删除 删除所有容器 # docker rm 'docker ps -a -q' -a 列出所有得容器 -q 表示只返回容器得ID


本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-12-29 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 常用命令
  • 容器相关命令
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档