帮助文档
$ docker --helpUsage: docker [OPTIONS] COMMANDA self-sufficient runtime for containers... ...Management Commands:...Commands:...
管理命令
Management Commands:
container 管理容器
image 管理镜像
network 管理网络
node 管理Swarm节点
plugin 管理插件
secret 管理Docker secrets
service 管理服务
stack 管理Docker stacks
swarm 管理Swarm集群
system 查看系统信息
volume 管理卷
普通命令
Commands:
attach 将本地标准输入、输出和错误流附着连接到正在运行的容器
build 使用 Dockerfile 构建镜像
commit 从容器的更改中创建一个新的镜像
cp 容器和主机间复制文件或文件夹
create 创建一个新容器,但不启动它
deploy Deploy a new stack or update an existing stack
diff Inspect changes to files or directories on a container's filesystem
events Get real time events from the server
exec 在运行的容器中执行命令
export Export a container's filesystem as a tar archive
history 显示镜像历史记录
images 查看镜像列表
import Import the contents from a tarball to create a filesystem image
info Display system-wide information
inspect 返回Docker对象的底层信息
kill Kill one or more running containers
load Load an image from a tar archive or STDIN
login Log in to a Docker registry
logout Log out from a Docker registry
logs 获取一个容器的日志
pause Pause all processes within one or more containers
port List port mappings or a specific mapping for the container
ps 查看容器列表
pull 从镜像仓库拉取镜像
push 将本地的镜像上传到镜像仓库(要先登陆到镜像仓库)
rename 重命名容器
restart 重启一个或多个容器
rm 删除一个或多个容器
rmi 删除一个或多个镜像
run 创建一个新的容器并运行一个命令
save Save one or more images to a tar archive (streamed to STDOUT by default)
search 从 Docker Hub 搜索镜像
start 开始一个或多个停止的容器
stats 实时显示容器CPU、内存等资源使用情况
stop 停止一个或多个容器
tag Create a tag TARGET_IMAGE that refers to SOURCE_IMAGE
top 查看一个容器中运行的进程信息
unpause Unpause all processes within one or more containers
update Update configuration of one or more containers
version 显示 Docker 的版本信息
wait Block until one or more containers stop, then print their exit codes
运行 'docker COMMAND --help' 查看一个命令的更多信息。
运行
主要用到 run 命令:
$ docker run --help
用法: docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
创建一个新的容器并运行一个命令
Options:
... ...
常用 OPTIONS 说明:
-a, --attach list 指定标准输入输出内容类型,可选 STDIN/STDOUT/STDERR 三项
-d, --detach 后台运行容器,并打印返回容器ID
-i, --interactive 以交互模式运行容器,通常与 -t 同时使用;
-p, --publish list 指定端口映射,格式为“主机端口:容器端口”
-t, --tty 为容器重新分配一个伪输入终端,通常与 -i 同时使用
--name string 为容器指定一个名称
-h, --hostname string 指定容器的 hostname
-e, --env list 设置环境变量
-m, --memory bytes 设置容器使用内存最大值
--link list 添加链接到另一个容器
--expose list 开放一个端口或一组端口
--restart string 自动重启容器
--rm 容器退出后,自动删除容器
-v, --volume 绑定一个卷
不加 OPTIONS 相关参数,直接创建容器并运行命令
$ docker run ubuntu:latest echo "Hello Docker!"
Hello Docker!
查看容器
$ docker ps -l
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
afb231371764 ubuntu:latest "echo 'Hello Docker!'" 6 seconds ago Exited (0) 5 seconds ago nostalgic_gould
交互运行
以交互模式启动一个容器,并在容器内执行 /bin/bash 命令:
$ docker run -it ubuntu:latest /bin/bash
root@e5333463082f:/#
此时,若退出容器的 shell,容器好再次停止运行。
守护运行
除了上述交互式运行容器,可以长期运行的容器,即守护式容器,它非常适合运行应用程序和服务。
$ docker run -d ubuntu:latest /bin/sh -c "while true;do echo hello docker;sleep 1;done"
查看容器的信息
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
115dd5e895c1 ubuntu:latest "/bin/sh -c 'while t…" 2 minutes ago Up 2 minutes
查看日志输出
$ docker logs <CONTAINER>
hello docker
hello docker
<CONTAINER> 为容器 ID 或者 名称。
实时查看容器
$ docker attach <CONTAINER>
hello docker
hello docker
...
其他
进入运行中的容器
$ docker exec -it <CONTAINER> /bin/bash
查看容器
$ docker ps -a
停止容器
$ docker stop <CONTAINER>
重启容器
$ docker restart <CONTAINER>
启动终止的容器
$ docker start <CONTAINER>
删除容器
$ docker rm <CONTAINER>
删除所有容器
$ docker rm $(docker ps -aq)
设置开机自启动容器
$ docker update --restart=always <CONTAINER>
镜像
拉取镜像
$ docker pull python:3.7-alpine
列出镜像
$ docker images
构建镜像
构建 Docker 镜像又以下两种方法:
- 使用
docker commit命令; - 使用
docker build命令和 Dockerfile 文件。
推荐使用的是第二种方法。
