Docker常用的命令
一、帮助启动类命令
#启动docker:
systemctl start docker
#停止docker:
systemctl stop docker
#重启docker:
systemctl restart docker
#查看docker状态:
systemctl status docker
#开机启动docker:
systemctl enable docker
#查看docker概要:
docker info
#查看docker总体帮助文档:
docker --help
#查看docker命令帮助文档:
docker 具体命令 --help
二、镜像命令
#列出本地主机上的镜像:
docker images
#(-a:列出本地所有的镜像,含历史映像层
#-q:只显示镜像id)
#查看某个镜像
docker search 某个xxx镜像名字
#(网站:https://hub.docker.com)
#(命令:docker search [options] 镜像名
#options说明:--limit:只列出N个镜像,默认25个。
#例子:docker search --limit 5 redis)
#拉去镜像
docker pull 某个xxx镜像名字
#(下载镜像
#docker pull 镜像名字 [:TAG]
#没有TAG则默认是最新版,等价于docker pull 镜像名字 :lastest
)
#查看镜像/容器/数据卷所占的空间:
docker system df
#删除镜像
docker rmi 某个xxx镜像名字id
(
删除单个: docker rmi -f 镜像id
删除多个: docker rmi -f 镜像名1:TAG 镜像名2:TAG
删除全部: docker rmi -f $(docker images -qa)
)
#删除虚悬镜像
docker image prune
三、容器命令
#新建+启动容器:
docker run [options] IMAGE [COMMAND] [ARG...]
#OPTIONS说明(常用):有些是一个减号,有些是两个减号
#为容器指定一个名称;
--name="容器新名字"
#后台运行容器并返回容器ID,也即启动守护式容器(后台运行):
-d
#以交互模式运行容器,通常与 -t 同时使用:
-i
#为容器重新分配一个伪输入终端,通常与 -i 同时使用:
-t
#启动交互式容器(前台有伪终端,等待交互);
-P: 随机端口映射,大写P
-p: 指定端口映射,小写p
#例:启动交互式ubuntu:docker run -it (--name=jacson) ubuntu /bin/bash(或者是bash)
#罗列出容器:
docker ps [option]
#(option说明:-a:列出当前所有运行的容器+历史上运行过的
#-l:显示最近创建的容器
#-n:显示最近n个创建的容器
#-q:静默模式,只显示容器编号
#-d:后台启动,启动守护式容器
)
#退出容器:
1、exit(run进去容器,exit退出,容器停止)
2、ctrl+p+q(run进去容器,ctrl+p+q,容器不停止)
#重启已停止运行的容器:
docker start 容器id或容器名
#重启容器:
docker restart 容器id或容器名
#停止容器:
docker stop 容器id或容器名
#强制停止容器:
docker kill 容器id或容器名
#删除已停止的容器:
docker rm 容器id或容器名
#(强制删除的话加-f)
#(一次性删除多个容器实例
#docker rm -f $(docker ps -a -q)
#docker ps -a -q | xargs docker rm
#)
#清除掉没有用或停掉的容器,释放内存
docker system prune
#查看容器日志:
docker logs 容器id
#查看容器内运行进程:
docker top
#查看容器内部细节:
docker inspect 容器id
#运行的容器并以命令行交互:
#重新进入退出的容器:
docker exec -it 容器id bashShell
#重新进入:
docker attach 容器id
#(以上两者的区别:
#1、attach直接进入容器启动命令的终端,不会启动新的进程,用exit退出,会导致容器停止
#2、exec是在容器中打开新的终端,并且可以启动新的进程。用exit退出,不会导致容器的停止
#推荐使用docker exec命令。因为退出容器终端,不会导致容器停止
)
#把容器内文件拷贝到主机上
docker cp 容器id:容器内路径 目的主机路径
#导入和导出容器:
#export导出容器内容留作为一个tar归档文件[对应import命令]
docker export 容器id > 文件名.tar
#import从tar包中的内容创建一个新的文件系统再导入为镜像[对应export]
cat 文件名.tar | docker import - 镜像用户/镜像名:镜像版本号
#docker镜像commit操作
docker commit提交容器副本使之成为一个新的镜像
docker commit -m="提交的描述信息" -a="作者" 容器id 要创建的目标镜像名:[标签名]
#自定义网络:
#例
docker network creatte --driver bridge --subnet 192.168.0.0/16 --gateway 192.168.0.1 mynet
#容器使用自定义网络:
docker run -d -P --network 自定义网络名 ( 提前创建)
#跨网络连接别人就用。 把 tomcat 加入到 mynet 网络
docker network connect [ OPTIONS] NETWORK CONTAINER
#例
docker network connect mynet tomcat

注意事项:
需要下载的东西去hub.docker.com这个网站里搜。
Docker镜像层都是只读的,容器层是可写的,
docker run 默认是前台启动
在挂在到某个容器的时候,其挂载的目录下的内容会被覆盖为空。
1710

被折叠的 条评论
为什么被折叠?



