2016年10月30日星期日

Docker_003:基本使用

环境:MAC OS  X 10.12.1 + Docker 1.12.1

1. 下载并运行 nginx image
$ docker pull nginx
$ docker images
$ docker run -d -p 80:80 --name webserver nginx
访问 http://localhost
$ docker ps
$ docker stop webserver
$ docker start webserver
$ docker ps
发现 Container ID 不变
$ docker rm -f webserver // 停止并删除容器 -f 表示强制删除正在运行的容器
$ docker rmi nginx // 删除 docker image
$ docker restart
会重新执行 docker run 的命令以及参数。

2. 下载并运行 ubuntu image
$ docker pull ubuntu
$ docker run -it ubuntu bash
$ docker attach < container id >
attach 到一个已经运行的容器的 stdin,然后进行命令执行的动作。
但是需要注意的是,如果从这个 stdin 中 exit,会导致容器的停止。

3. 在容器内部启动额外新进程
$ docker exec -it < container id >  bash
$ docker exec -d
< container id >  touch /etc/new_config_file

4. 创建守护式容器
$ docker run --name aofo -d ubuntu bash -c "while true; do echo hello world; sleep 1; done"
参数 -c 表示命令将以一个字符串读入
参数 -d 表示在后台执行一个进程
$ docker logs -ft aofo

参数 -f 表示跟踪日志,类似 tail -f 命令
参数 -t 表示打印日志的时间戳
$ docker top aofo // 查看容器里的运行进程
$ docker inspect aofo // 检视容器

5. 停止所有容器
$ for id in $(docker ps -q); do docker stop $id; done


6. 删除所有容器
$ for id in $(docker ps -aq); do docker rm $id; done


7. 删除所有本地的 docker image
$ for id in $(docker images -aq); do docker rmi $id; done
$ docker rmi `docker images -aq`


8. 删除所有本地没有 Tag 的 docker image
$ docker rmi $(docker images | grep none | awk '{ print $3}')


9. 检索 image
$ docker search < image name >


10. 显示一个 image 的历史
$ docker history < image name >
 

11. 显示 docker 系统信息
$ docker info

输出如下:
Containers: 24
 Running: 0
 Paused: 0
 Stopped: 24
Images: 158
Server Version: 1.12.5
Storage Driver: aufs
 Root Dir: /var/lib/docker/aufs
 Backing Filesystem: extfs
 Dirs: 347
 Dirperm1 Supported: true
Logging Driver: json-file
Cgroup Driver: cgroupfs
Plugins:
 Volume: local
 Network: bridge host null overlay
Swarm: inactive
Runtimes: runc
Default Runtime: runc
Security Options: seccomp
Kernel Version: 4.4.39-moby
Operating System: Alpine Linux v3.4
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 1.951 GiB
Name: moby
ID: KBCH:BGPS:SZRV:JLLM:YO3Y:UHAT:DXDV:UOQA:KXJK:RN25:YLV5:U2LZ
Docker Root Dir: /var/lib/docker
Debug Mode (client): false
Debug Mode (server): true
 File Descriptors: 16
 Goroutines: 27
 System Time: 2016-12-31T01:53:44.788500613Z
 EventsListeners: 1
No Proxy: localhost、*.local、169.254/16
Username: maping930883
Registry: https://index.docker.io/v1/
WARNING: No kernel memory limit support
Insecure Registries:
 172.30.0.0/16
 127.0.0.0/8
 

没有评论: