Docker常用命令
# 查看命令记录
docker history
# 查看本地已有的镜像
# -a 列出所有镜像
# -q 只显示镜像ID
docker images
# 删除指定的镜像
docker rmi image1 imge2 imge3
# 删除本地所有镜像
docker rmi `docker images -aq`
# 构建镜像
# --no-cache,忽略构建缓存
# -t TAG,在构建时指定镜像标签
docker build -t TAG
# 给镜像打标签
docker tag CONTAINER TAG
# 推送镜像到Registry
docker push
# 从镜像仓库下载镜像
docker pull CONTAINER TAG
# 将构建的镜像保存到文件中
docker save
# 装载保存到文件的镜像
docker load
# 创建并执行容器
# -i 开启容器的STDIN
# -t 为容器创建一个伪tty终端
# --restart=OPTS,指定重启条件,always 无论容器退出码均重启;on-failure:N 当容器退出码非0时重启,最多试N次
# --network=OPTS, none表示容器无网络,只能访问回环;host表示容器和宿主机共享网络命名空间;bridge表示为容器创建独立的网络环境
docker run -it ubuntu bash
# --name CON_NAME,指定容器名称
docker run -it --name darren_ubuntu_con ubuntu bash
# -d 后台运行容器,同时执行某个任务
docker run --name darren_ubuntu -d ubuntu bash -c "while true; do echo hello world; sleep 1; done"
# 获取容器的日志,
# -f 可以动态更新日志
# --tail N 指定查看日志的最后N条
# -t 查看时携带时间戳
docker logs CON_NAME | CON_ID
# 查看容器内的进程
docker top CON_NAME | CON_ID
# 查看容器的统计信息
docker stats CON_NAME1|CON_ID1 [[ CON_NAME2|CON_ID2 ] ... [CON_NAMEn | CON_IDn]]
# 审查一个容器的详细信息
docker inspect CON_NAME|CON_ID
# 在容器中执行命令
# -d 可以非交互式地执行命令
docker exec CON_NAME|CON_ID YOUR_CMD YOUR_ARGS
# 创建一个容器而不启动它,命令执行后返回新创建的容器ID
docker create
# 通过容器名称或容器ID启动某个容器
docker start CON_NAME | CON_ID
# 重启一个容器
docker restart CON_NAME | CON_ID
# 列出当前运行中的容器
# -a 列出所有容器
# -l 列出最近一次的容器
# -q 列出容器时只显示容器ID
docker ps
# 关闭一个容器,向容器进程发送 SIGTERM 信号
docker stop CON_NAME|CON_ID
# 杀死一个容器,向容器进程发送 SIGKILL 信号
docker kill CON_NAME|CON_ID
# 暂停容器
docker pause [OPTIONS] CONTAINER [CONTAINER...]
# 恢复容器
docker resume [OPTIONS] CONTAINER [CONTAINER...]
# 删除一个容器
docker rm CON_NAME|CON_ID
# 删除所有容器
docker rm `docker ps -aq`
# 附着到某个正在运行的容器上,不能附着到已停止的容器上
docker attach CON_NAME | CON_ID
# 查看容器的端口映射情况,显示容器PORT端口映射到的宿主机端口
docker port CON_ID|CON_NAME PORT
# 自己创建容器网络
docker network create -d bridge NETWORK
# 创建卷
docker volume create VOLUME_NAME
#
docker volume prune
docker run
可以创建2种类型的容器:
- 交互型容器:运行在前台,有指定的交互控制台。当创建容器的终端关闭,或容器内使用
exit
命令,或docker stop
、docker kill
命令将会使容器变为停止状态 - 后台型容器:运行于后台,创建后于创建它的终端无关,只能通过
docker stop
、docker kill
命令将其关闭。
docker run
实现文件映射
docker run -v vol:/app IMAGE
- 挂载VOLUMEdocker run -v /home/user/:/app IMAGE
- bind mounts,将宿主机的/home/user/
挂载到容器的/app
下docker run -tmpfs /app IMAGE
- 将宿主机的内存或交换分区挂载到容器中。