现在的位置: 首页 > 云计算 > Docker > 正文
docker容器技术系列四:docker常用操作命令详解
2015年11月01日 Docker ⁄ 共 2476字 暂无评论 ⁄ 被围观 6,130 views+

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

# docker images

image

2、搜索一个公共镜像:

# docker search imageName

image

3、下载镜像:

# docker pull imageName

image

4、启动一个docker容器:

基本命令:

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

主要选项:

-d :  以后台进行方式运行容器

-t :  提供一个伪终端

-i :  提供交互输入,一般与“-t”一起使用,如果只提供“-i”选项,则容器启动后是无法退出的

-v : 映射一个volume给容器,如:  -p /data/www:/var/www/html

-p : 将容器的端口映射给宿主机,如: -p 8080:80

实例:

以交互方式启动一个容器:

# docker -it centos:6.6 /bin/bash

以后台方式启动容器,并映射端口:

# docker -d -p 4422:22 sshd

映射一个本地目录给容器,并映射端口:

# docker run -d -v /data/www:/var/www/html -p 8080:80 httpd

5、查看docker容器

查看当前运行的容器:

# docker ps

查看所有容器,包括已经停止的容器:

# docker ps -a

6、查看docker容器日志

# docker logs  “Container Name或Container ID”

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

[root@node01 ~]# docker logs 034b9dc0346c
192.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容器

正常停止一个运行中的容器:

# docker stop “Container Name或Container ID”

直接kill一个容器:

# docker kill “Container Name或Container ID”

8、删除docker容器

已经停止的容器可以被删除:

# docker rm “Container Name或Container ID”

如果需要批量删除所有已经停止的容器,则可以用下面的命令:

[root@node01 ~]# docker rm `docker ps -a -q`

9、重启docker容器

# docker restart“Container Name或Container ID”

10、进入docker容器交互终端

方法一:

要与容器交互,比如要容器提供一个可以输入的终端,一般来收需要加"-it"选项,然后即可用下面命令进入容器:

# docker attach “Container Name或Container ID”

方法二:

docker_ID=`docker inspect -f {{.State.Pid}}  Container_Name或Container_ID`
nsenter --target $docker_ID --mount --uts --ipc --net --pid

11、容器的导出导入

如果要导出本地某个容器,可以使用 docker export 命令,如下:

[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
a084be42d5b5        gcr.io/google_containers/pause:0.8.0   "/pause"               7 minutes ago       Up 7 minutes        0.0.0.0:80->80/tcp   k8s_POD.98d1e889_my-nginx-app_default_76d3ef74-8037-11e5-8c1a-000c296a970f_2c6911b8
[root@node01 ~]# docker export 034b9dc0346c >nginx.tar

这样将导出容器快照到本地文件。

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

一张图搞定docker命令

给我留言

留言无头像?


×