Docker容器的使用
拉取容器
pull
docker pull ubuntu
ubuntu
ubuntu镜像
启动容器
启动刚拉取的容器
docker run -it --name runoob ubuntu:15.10 /bin/bash
i
交互式操作t
终端d
后台运行P
将容器内部使用的网络端口随机映射到我们使用的主机上p
设置自定义本机映射端口-name runoob
标识命名容器runoob-network test-net
表明容器连接那个网络-rm
容器退出时自动清理容器内部的文件系统h HOSTNAME
或者-hostname=HOSTNAME
-dns=IP_ADDRESS
添加 DNS 服务器到容器的/etc/resolv.conf
中,让容器用这个服务器来解析所有不在/etc/hosts
中的主机名-dns-search=DOMAIN
设定容器的搜索域,当设定搜索域为.example.com
时,在搜索一个名为host
的主机时,DNS
不仅搜索host
,还会搜索host.example.com
。
如果在容器启动时没有指定 --dns 和 --dns-search,Docker 会默认用宿主主机上的 /etc/resolv.conf 来配置容器的 DNS。
ubuntu
ubuntu镜像15.10
版本号(如果不指定版本号,将默认latest
最新版本)/bin/bash
放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。
启动已经关闭的容器
查看所有的容器命令如下:
docker ps -a
使用 docker start
启动一个已停止的容器:
docker start <容器 ID>
查看运行中的容器
docker ps -a
停止一个容器
docker stop <容器 ID>
停止的容器可以通过 docker restart 重启
docker restart <容器 ID>
进入容器
docker attach <容器 ID>
docker exec <容器 ID>
attach
进入容器后退出容器会导致容器的停止,exec
则不会
导出容器
docker export <容器 ID> > ubuntu.tar
导入容器
docker import http://example.com/exampleimage.tgz example/imagerepo
删除容器
注意删除容器时,容器必须是停止状态,否则会报错
docker rm -f <容器 ID>
下面的命令可以清理掉所有处于终止状态的容器。
docker container prune
查看Docker端口映射
docker ps -a
上述可以看到所有镜像的端口映射
docker port <容器 ID>
docker port <容器 名称>
上述两种方式可以快捷看到指定对应容器的端口映射
查看日志输出
docker logs -f <容器 ID>
f
让docker logs
像使用tail -f
一样来输出容器内部的标准输出。
查看容器详情
docker inspect <容器 名称>
上述会返回一个JSON 文件记录着Docker容器的配置和状态信息。