命令行 |
解释 |
创建container |
docker container create image_name |
创建并运行container 及进入交互终端参数 |
docker container run -it image_id CMD -i 交互模式 -t 终端 -it 为分配一个交互式终端 -d 放在后台 -p 端口映射 -v 源地址(宿主机):目标地址(容器) --name 指定容器的名字 -h 指定容器主机名 --restart=always 每次重启服务,容器跟着重启 |
创建并运行container 并让其在后台运行,并端口映射 |
docker container run -p [port in physical system] : [port in container] -d [image] [command] |
查看正在运行的所有container 信息 |
docker container ps |
查看最后创建的container |
docker container ps -l |
查看所有container,包括正在运行和已经关闭的 |
docker conta
iner ps -a |
输出指定container 的stdout 信息(用来看log,效果和tail -f 类似,会实时输出。) |
docker container logs -f [container] |
获取container 指定端口映射关系 |
docker container port [container] [port] |
查看container 进程列表 |
docker container top [container] |
查看container 详细信息 |
docker container inspect [container] |
停止continer |
docker container stop [container] |
强制停止container |
docker container kill [container] |
启动一个已经停止的container |
docker container start [container] |
重启container(若container 处于关闭状态,则直接启动) |
docker container restart [container] |
删除container |
docker container rm [container] -f 强制参数 |
exec 语法:docker container exec [OPTIONS] CONTAINER [CONTAINER...]
完整信息,请查看:docker exec–help
# exec 会分配一个新的终端(pts)
docker container exec -it 容器id 或容器名字 /bin/bash
#执行进入必须要带参数和COMMAND(如:/bin/bash)
#进入容器可以用容器运行的id, 也可以用容器名称, 其目的都是唯一定位到容器
[root@localhost ~]# docker container exec -it centos /bin/bash (父镜像)
attach
语法:docker container attach CONTAINER
#如果Docker容器是使用/bin/bash命令启动的,则可以使用attach
[root@localhost temp]# docker attach t11
#exec 与attach 区别
EXEC: 在一个正在运行的容器中执行命令,exec是针对已运行的容器实例进行操作,在已运行的容器中执行命令,不创建和启动新的容器,退出shell不会导致容器停止运行。
Attach: 将本机的标准输入(键盘)、标准输出(屏幕)、错误输出(屏幕)附加到一个运行的容器,也就是说本机的输入直接输到容器中,容器的输出会直接显示在本机的屏幕上,如果退出容器的shell,容器会停止运行。
容器其他操作
# 关闭所有正在运行的容器
[root@master ~]# docker kill $(docker ps -q)
# 移除所有停止的容器
[root@master ~]# docker rm $(docker ps -a -q)
[root@demo ~]# docker container prune
# 根据状态移除
[root@master ~]# docker rm $(docker ps -q -f ‘status=exited‘ -n 3)
[root@master ~]# docker rm $(docker ps -q -f ‘status=exited‘)
# 根据标签移除
[root@master ~]# docker rm $(docker ps -a | grep nginx | awk ‘{print $1}‘)
原文:https://www.cnblogs.com/tortoise512/p/14674366.html