前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >docker容器技术系列四:docker常用操作命令详解

docker容器技术系列四:docker常用操作命令详解

作者头像
小小科
发布2018-05-04 10:47:44
5790
发布2018-05-04 10:47:44
举报
文章被收录于专栏:北京马哥教育北京马哥教育

现在我们来探讨更多docker的操作

1、查看当前本地主机上可用的镜像:

代码语言:javascript
复制
# docker images

2、搜索一个公共镜像:

代码语言:javascript
复制
# docker search imageName

3、下载镜像:

代码语言:javascript
复制
# docker pull imageName

4、启动一个docker容器:

  • 基本命令:
代码语言:javascript
复制
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
  • 主要选项:
  • -d : 以后台进行方式运行容器
  • -t : 提供一个伪终端
  • -i : 提供交互输入,一般与“-t”一起使用,如果只提供“-i”选项,则容器启动后是无法退出的
  • -v : 映射一个volume给容器,如: -p /data/www:/var/www/html
  • -p : 将容器的端口映射给宿主机,如: -p 8080:80

实例:

  • 以交互方式启动一个容器:
代码语言:javascript
复制
# docker -it centos:6.6 /bin/bash
  • 以后台方式启动容器,并映射端口:
代码语言:javascript
复制
# docker -d -p 4422:22 sshd
  • 映射一个本地目录给容器,并映射端口:
代码语言:javascript
复制
# docker run -d -v /data/www:/var/www/html -p 8080:80 httpd

5、查看docker容器

  • 查看当前运行的容器:
代码语言:javascript
复制
# docker ps
  • 查看所有容器,包括已经停止的容器:
代码语言:javascript
复制
# docker ps -a

6、查看docker容器日志

代码语言:javascript
复制
# docker logs  “Container Name或Container ID”

如查看一个nginx容器日志如下:

代码语言:javascript
复制
[root@node01 ~]# docker logs 034b9dc0346c192.168.183.1 - - [01/Nov/2015:01:26:25 +0000] "GET / HTTP/1.1" 304 0 "-" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36" "-"2015/11/01 01:26:25 [error] 6#6: *2 open() "/usr/share/nginx/html/favicon.ico" failed (2: No such file or directory), client: 192.168.183.1, server: localhost, request: "GET /favicon.ico HTTP/1.1", host: "192.168.183.128", referrer: "http://192.168.183.128/"192.168.183.1 - - [01/Nov/2015:01:26:25 +0000] "GET /favicon.ico HTTP/1.1" 404 570 "http://192.168.183.128/" "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/46.0.2490.80 Safari/537.36" "-"

7、停止docker容器

  • 正常停止一个运行中的容器:
代码语言:javascript
复制
# docker stop “Container Name或Container ID”
  • 直接kill一个容器:
代码语言:javascript
复制
# docker kill “Container Name或Container ID”

8、删除docker容器

  • 已经停止的容器可以被删除:
代码语言:javascript
复制
# docker rm “Container Name或Container ID”
  • 如果需要批量删除所有已经停止的容器,则可以用下面的命令:
代码语言:javascript
复制
[root@node01 ~]# docker rm `docker ps -a -q`

9、重启docker容器

代码语言:javascript
复制
# docker restart“Container Name或Container ID”

10、进入docker容器交互终端

  • 方法一:
  • 要与容器交互,比如要容器提供一个可以输入的终端,一般来收需要加”-it”选项,然后即可用下面命令进入容器:
代码语言:javascript
复制
# docker attach “Container Name或Container ID”
  • 方法二:
代码语言:javascript
复制
docker_ID=`docker inspect -f {{.State.Pid}}  Container_Name或Container_ID`
nsenter --target $docker_ID --mount --uts --ipc --net --pid

11、容器的导出导入

  • 如果要导出本地某个容器,可以使用 docker export 命令,如下:
代码语言:javascript
复制
[root@node01 ~]# docker ps
CONTAINER ID    IMAGE     COMMAND                CREATED        STATUS         PORTS                NAMES
034b9dc0346c    nginx     "nginx -g 'daemon of   7 minutes ago  Up 7 minutes   k8s_my-nginx-app.b2380cf7_my-nginx-app_default_76d3ef74-8037-11e5-8c1a-000c296a970f_06024d1d

[root@node01 ~]# docker export 034b9dc0346c >nginx.tar
  • 这样将导出容器快照到本地文件。

12、一张图看懂容器的主要操作:

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-11-27,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 马哥Linux运维 微信公众号,前往查看

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

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

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