Docker-常用命令
常用命令
attach # 当前 shell 下 attach 连接执行运行镜像
build # 通过 Dockerfile 定制镜像
commit # 提交当前容器为新的镜像
cp # 从容器中拷贝指定文件或目录到宿主机中
create # 创建一个新的容器,同 run ,但不启动容器
container # 列出容器 = ps
diff # 查看 docker 容器变化
events # 从 docker 服务获取容器实时时间
exec # 在已存在的容器上运行命令
export # 到处容器的内容作为一个 tar 归档文件【对应 import】
history # 展示一个镜像形成历史
images # 列出系统当前镜像
import # 从tar包中的内容创建一个新的文件系统映像【对应 export】
info # 显示系统相关信息
inspect # 查看容器详细信息(元数据)
kill # kill指定 docker 容器
load # 从一个 tar 包中加载一个镜像【对应 save】
login # 注册或登录一个 docker 源服务器
logout # 从当前 Docker registry 退出
logs # 输出当前容器日志信息
port # 查看映射端口对应的容器内源端口
pause # 暂停容器
ps # 列出容器列表 = container
pull # 从docker镜像源服务器拉去指定镜像或库镜像
push # 推送指定镜像或者库镜像至docker源服务器
restart # 重启运行的容器
rm # 移除一个或多个容器
rmi # 移除一个或多个容器【无容器使用该镜像才可删除,否则需要删除相关容器才可继续或 -f 强制删除】
run # 创建一个新的容器并运行一个命令
save # 保存一个镜像为一个 tar 包【对应 load】
search # 在docker hub 中搜索镜像
start # 启动容器
stop # 停止容器
stats # 查看容器资源状态
tag # 给源中镜像打标签
top # 查看容器内运行的进程信息
unpause # 取消暂停容器
version # 查看 docker 版本号
wait # 截取容器停止时的退出状态值
容器命令
1、运行容器
docker run [options] image
options:
--name "image_name" #容器名字 tomcat1 tomcat2
-d #后台方式运行
-it #使用交互的方式运行,进入容器查看内容
-p #制定容器的端口 -p 8080:8080
-p ip:主机端口:容器端口
-p 主机端口:容器端口 (常用)
-p 容器端口 #宿主机随机端口绑定容器端口
-P #随机指定端口
-v #卷挂载
-v 本地目录:容器内目录 #指定挂载
-v 容器内路径 #匿名挂载
-v 卷名:容器内路径 #具名挂载
-v 容器内路径:ro,rw #设置容器权限,设置权限后,只能从外部操作,容器内无法操作
-e #环境配置:docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=mysql a70d36bc331a
--restart=always #重启docker时容器跟随重启,不会停止
2、后台启动容器
docker run -d centos #启动容器,容器前台必须要有一个进程在运行,docker发现没有进程后会自动停止
3、退出容器
exit #直接停止容器退出
Ctrl+P+Q #不停止容器退出
4、删除容器
docker rmi 镜像id #删除指定镜像,无法删除正在运行的容器,强制删除 rm -f
docker rmi -f $(docker images -q) #删除全部容器
5、列出所有的运行中的容器
docker ps "command"
command:
-a #列出当前正在运行的容器+历史运行过的容器
-n #显示最近创建的容器
-q #只显示容器的编号
6、查看容器中的进程信息
docker top 容器id
7、启动和停止容器
docker start 容器id
docker restart 容器id
docker stop 容器id
docker kill 容器id
8、查看日志
docker logs -tf --tailf 10 容器id
docker logs -fn 10 41fcd397422a
9、进入正在运行的容器 (容器通常是在后台运行,需要进入容器,修改配置)
docker exec -it 11d49dbfafee /bin/bash #进入容器后开启一个子shell
docker attach 11d49dbfafee #进入容器当前正在执行的shell
10、从主机上拷贝文件到容器内
docker cp 容器id
docker cp 11d49dbfafee:/root/index.html .#将容器内root目录下的文件拷贝到当前目录下
11、测试环境部署(一般部署都是停止容器后,还是可以查到容器id,这种方法就是用完就删除,查找不到容器的id)
docker run -it --rm tomcat:9.0
镜像命令
1、提交定制的镜像
docker commit
docker commit -m="描述信息" -a="作者" 容器id 目标镜像名:[TAG]
2、镜像导入导出
docker save nginx > /tmp/nginx.tar.gz
docker load -i /tmp/nginx.tar.gz