帮助命令
docker version #显示docker版本信息
docker info #显示docker的系统信息,包括镜像和容器的数量
docker 命令 --help #万能命令
docker images镜像命令
docker images #查看所有本地主机上的镜像
REPOSITORY |
TAG |
IMAGE ID |
CREATED |
SIZE |
镜像的仓库源 |
镜像的标签 |
镜像的ID |
镜像的ID |
镜像的大小 |
-a, --all #列出所有的镜像
--digests Show digests
-f, --filter filter Filter output based on conditions provided
--format string Pretty-print images using a Go template
--no-trunc Don't truncate output
-q, --quiet #只显示镜像的id
docker search 搜索镜像
docker search mysql
docker search mysql --filter=STARS=3000
--filter=STARS=3000 #搜索出来的镜像就是STARS大于3000的
docker pull 下载镜像
#下载镜像 docker pull 镜像名[:tag]
[root@xianyu ~]# docker pull mysql
Using default tag: latest #如果不写 tag 默认就是latest
latest: Pulling from library/mysql
33847f680f63: Retrying in 1 second
5cb67864e624: Download complete #分层下载 docker imges 的核心 联合文件系统
1a2b594783f5: Download complete
b30e406dd925: Download complete
48901e306e4c: Download complete
603d2b7147fd: Download complete
Digest: sha256:feada149cb8ff54eade1336da7c1d080c4a1c7ed82b5e320efb5beebed85ae8c #签名
Status: Downloaded newer image for mysql:latest
docker.io/library/mysql:latest ##真实地址
#等价于它
docker pull mysql
docker pull docker.io/libbrary/mysql:latest
#指定版本下载
docker pull mysql:5.7
5.7: Pulling from library/mysql
docker rmi 删除镜像
docker rmi -f 镜像id #删除指定的容器
docker rmi -f 镜像id 容器id 容器id #删除多个容器
docker rmi -f $(docker images -aq) #删除全部镜像
容器命令
- 说明:我们也有了镜像才可以创建容器,linux 下载一个 centos 镜像来测试学习
docker pull centos
docker run -it centos /bin/bash
#参数说明
docker run[可选参数] image
--name='Name' 容器名字 tomcat01 tomcat02 用来区分容器
-d 后台方式运行,ja nohup
-it 使用交互方式运行,进入容器查看内容
-p 指定容器端口 -p 8080:8080
-p ip:主机端口:容器端口
-p 主机端口:容器端口(常用)
-p 容器端口
容器端口
-P 随机指定端口
docker run -it centos /bin/bash
- 查看容器内的cents 基础版本,很多命令都是不完善
ls
exit
列出所有的运行的容器
docker ps
- 列出当前正在运行的容器
-a 列出当前正在运行的容器+带出历史运行过的容器
-n数字 #显示最近创建的容器
-q #只显示容器的编号
退出容器
exit #直接容器停止并退出
ctrl + p + Q #容器不停止退出
启动和停止容器的操作
启动容器 |
重启容器 |
定制当前正在运行的容器 |
强制定制当前的容器 |
docker start 容器id |
docker restart 容器id |
docker stop 容器id |
docker kill 容器id |
常用的其他命令
后台启动容器
docker -run -d centos
- 命令 docker -run -d 镜像名
问题docker ps 发现 centos 停止了
常见的坑,docker 容器使用后运行,就必须要有一个前台的进程,docker发现没有应用,就会自动停止
nginx 容器启动后,发现自己没有提供服务,就会立刻停止,就是没有程序了
查看日志
docker logs -tf --tail 10 --tail 容器id 里没有日志
查看容器中进程信息 ps
docker top 容器id
查看镜像元数据
docker inspect 容器id
进入当前正在运行的容器
- 我们通常容器都是使用后台方式运行的,需要进入容器,修改一些配置
- 方式一
docker exec -it 容器id /bin/bash
docker attach 容器id
- docker exec #进入容器后开启一个新的终端,可以在里面操作(常用)
- docker attach #进入容器正在执行的终端,不会启动新的进程
从容器内拷贝文件到主机上
docker cp 容器id:容器内的路径 目的的主机路径
- 拷贝是一个手动过程,未来我们使用 -v 卷技术,可以实现,自动同步
学习方式:将所有命令全部抄一遍,自己记录笔记。
小结
docker 命令
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 contailners filesystem to the host path #从容器中拷贝指定文件或者目录到宿主机中
create Create a new contailner #创建一个新的容器,同 run 但不启动容器
diff Inspect chaanges on a container's filesystem #查看docker 容器变化
events Get real time events from the server #从docker 服务器获取容器实时时间
exec Run a command in an existing container #在已存在的容器上运行命令
export Stresm the contents of a container as atar 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 #查看容器详细信息
kill kill a running contailner #kill 指定docker 容器
load Load an image from a tar archive #从 一个tar 包中加载一个镜像[对应sava]
login Register or login to the docker registry server #注册或者登陆一个docker 原服务器
logout Log out from a docker registry server #从当前docker registry 退出
logs Fetch the logs of a container #输出当前容器日志信息
port Lookup the public-facing port whichh is NAT-ed to PRIVATE_PORT #查看映射端口对应的容器内部资源端口
pause pause all processes within a contailner #暂停容器
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 moer container #益处一个或者多个容器
rmi Remove one or more image #演绎出一个或者多个镜像[无容器使用该镜像才可以删除,否则需要删除相关内容才可以继续或者 -f 强制删除]
run Run a command in anew 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 contailners #启动容器
stop Stop a running containers #停止容器
tag tag an image into a repository #给源中镜像打标签
top Lookup the running processes of a container #查看容器中运行的进程信息
unpause Unpause a paused contailner #取消暂停容器
version Show the docker version information #查看docker 版本号
wait block until a container stops ,then print its exit code #截取容器停止时的退出状态值
学习笔记抄录:狂神说JAVA