环境: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
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
attach 到一个已经运行的容器的 stdin,然后进行命令执行的动作。
但是需要注意的是,如果从这个 stdin 中 exit,会导致容器的停止。
3. 在容器内部启动额外新进程
$ docker exec -it < container id >
$ docker exec -d
4. 创建守护式容器
$ docker run --name aofo -d ubuntu bash -c "while true; do echo hello world; sleep 1; done"
参数 -c 表示命令将以一个字符串读入
参数 -d 表示在后台执行一个进程
$ docker logs -ft aofo
参数 -t 表示打印日志的时间戳
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`
$ docker rmi $(docker images | grep none | awk '{ print $3}')
$ docker search < image name >
$ docker history < image name >
$ docker info
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
没有评论:
发表评论