目录
一、容器操作常用命令
1、新建+启动容器
2、列出当前所有正在运行的容器
3、退出容器
4、启动已停止运行的容器
5、启动守护式容器(后台服务器)
6、查看容器日志
7、查看容器内运行的进程
8、查看容器内部细节
9、进入正在运行的容器并以命令行交互
10、从容器内拷贝文件到主机上
11、导入和导出容器
12、小总结
一、容器操作常用命令
1、新建+启动容器
docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
OPTIONS说明(常用):有些是一个减号,有些是两个减号
--name="容器新名字" 为容器指定一个名称;
-d: 后台运行容器并返回容器ID,也即启动守护式容器(后台运行);
-i:以交互模式运行容器,通常与 -t 同时使用;
-t:为容器重新分配一个伪输入终端,通常与 -i 同时使用; 也即 启动交互式容器(前台有伪终端,等待交互) ;
-P: 随机 端口映射,大写P
-p: 指定 端口映射,小写p
启动交互式容器(前台命令行)
docker images
docker run -it hello-world /bin/bash
参数说明:
- -i: 交互式操作。
- -t: 终端。
- nginx : nginx 镜像。
- /bin/bash:放在镜像名后的是命令,这里我们希望有个交互式 Shell,因此用的是 /bin/bash。 要退出终端,直接输入 exit:
【补充】:
如果只想启动一个容器执行一个命令,执行完后直接删除该容器,只利用一次,可以用下面命令
#--rm参数可以自动删除,执行完ls命令直接删除该容器
docker run -it --rm --name mynginx2 nginx:latest ls
docker ps -a
2、列出当前所有正在运行的容器
# 列出当前所有正在运行的容器
docker ps [OPTIONS]【OPTIONS说明】
-a : 列出当前所有 正在运行 的容器 + 历史上运行过 的
-l :显示最近创建的容器。
-n:显示最近n个创建的容器。
-q :静默模式,只显示容器编号。
3、退出容器
# 两种退出方式
# 1、run进去容器,exit退出,容器停止
exit# 2、run进去容器,ctrl+p+q退出,容器不停止
ctrl+p+q
4、启动已停止运行的容器
# 启动已停止运行的容器
docker start 容器ID或者容器名# 重启容器
docker restart 容器ID或者容器名# 停止容器
docker stop 容器ID或者容器名# 强制停止容器
docker kill 容器ID或容器名# 删除已停止的容器
docker rm 容器ID# 一次性删除多个容器实例
docker rm -rf $(docker ps -a -q)docker ps -a -q | xargs docker rm
5、启动守护式容器(后台服务器)
#语法
docker run -d 容器名
#使用-d指定容器的后台运行模式
docker run -it nginx #前台交互式启动
docker run -d nginx #后台交互式启动
6、查看容器日志
docker logs 容器ID
docker ps
docker logs 1fe004cba747
7、查看容器内运行的进程
docker top 容器ID
docker ps
docker top 1fe004cba747
8、查看容器内部细节
docker inspect 容器ID
docker ps
docker inspect 1fe004cba747
9、进入正在运行的容器并以命令行交互
docker exec -it 容器ID bashshell
docker ps
docker exec -it 1fe004cba747 /bin/bash
【attach和exec区别】:
1.attach 直接进入容器启动命令的终端,不会启动新的进程用exit退出,会导致容器的停止。
2. exec 是在容器中打开新的终端,并且可以启动新的进程用exit退出,不会导致容器的停止。
推荐大家使用docker exec 命令,因为退出容器终端,不会导致容器的停止。
使用不同的bashshell进入redis
docker pull redis
docker run -itd redis
docker ps
docker exec -it f61a42121480 /bin/bash
10、从容器内拷贝文件到主机上
容器 -> 主机
docker cp 容器ID:容器内路径 目的主机路径
公式: docker cp 容器 ID: 容器内路径 目的主机路径
11、导入和导出容器
Export 导出容器的内容留作为一个tar归档文件[对应import命令]
import 从tar 包中的内容创建一个新的文件系统在导入为镜像[对应export]
【案例】:
docker export 容器ID > 文件.tar
cat 文件名.tar | docker import -镜像用户/镜像名:镜像版本号
12、小总结
command | 英文释义 | 中文释义 |
attach | Attach to a running container | 当前 shell 下 attach 连接指定运行镜像 |
build | Build an image from a Dockerfile | 通过 Dockerfile 定制镜像 |
commit | Create a new image from a container changes | 提交当前容器为新的镜像 |
cp | Copy files/folders from the containers filesystem to the host path | 从容器中拷贝指定文件或者目录到宿主机中 |
create | Create a new container | 创建一个新的容器,同 run,但不启动容器 |
diff | Inspect changes on a container's filesystem | 查看 docker 容器变化 |
events | Get real time events from the server | 从 docker 服务获取容器实时事件 |
exports | Stream the contents of a container as a tar archive | 导出容器的内容流作为一个 tar 归档文件[对应 import ] |
history | Show the history of an image | 展示一个镜像形成历史 |
images | List images | 列出系统当前镜像 |
import | Create a new filesystem image from the contents of a tarball | 从tar包中的内容创建一个新的文件系统映像[对应export] |
info | Display system-wide information | 显示系统相关信息 |
inspect | Return low-level information on a container | 查看容器详细信息 |
kill | Kill a running container | kill 指定 docker 容器 |
load | Load an image from a tar archive | 从一个 tar 包中加载一个镜像[对应 save] |
login | Register or Login to the docker registry server | 注册或者登陆一个 docker 源服务器 |
logout | Log out from a Docker registry server | 从当前 Docker registry 退出 |
port | Lookup the public-facing port which is NAT-ed to PRIVATE_PORT | 查看映射端口对应的容器内部源端口 |
pause | Pause all processes within a container | 暂停容器 |
ps | List containers | 列出容器列表 |
pull | Pull an image or a repository from the docker registry server | 从docker镜像源服务器拉取指定镜像或者库镜像 |
push | Push an image or a repository to the docker registry server | 推送指定镜像或者库镜像至docker源服务器 |
restart | Restart a running container | 重启运行的容器 |
rm | Remove one or more containers | 移除一个或者多个容器 |
rmi | Remove one or more images | 移除一个或多个镜像[无容器使用该镜像才可删除,否则需删除相关容器才可继续或 -f 强制删除] |
run | Run a command in a new container | 创建一个新的容器并运行一个命令 |
save | Save an image to a tar archive | 保存一个镜像为一个 tar 包[对应 load] |
search | Search for an image on the Docker Hub | 在 docker hub 中搜索镜像 |
start | Start a stopped containers | 启动容器 |
stop | Stop a running containers | 停止容器 |
tag | Tag an image into a repository | 给源中镜像打标签 |
top | Lookup the running processes of a container | 查看容器中运行的进程信息 |
unpause | Unpause a paused container | 取消暂停容器 |
version | Show the docker version information | 查看 docker 版本号 |
wait | Block until a container stops, then print its exit code | 截取容器停止时的退出状态值 |