帮助命令
docker version # 打印当前版本信息
docker info # docker的基础信息,更加详细的信息
docker 命令 --help # 万能命令
docker官方文档:https://docs.docker.com/reference/
## docker images
Usage: docker images [OPTIONS] [REPOSITORY[:TAG]]
Options:
-a, --all Show all images (default hides intermediate # 显示所有镜像信息
-q, --quiet Only show image IDs # 显示镜像id
# 之间也是可以组合使用的
# Respository 镜像的仓库源
# tag 标签
# Image id 镜像id
# created 创建时间
# size 大小
docker images # 显示所有镜像
docker images -aq #
docker search 镜像名称 # 从docker仓库寻找匹配的镜像
docker search mysql --filter=stars=3000 #寻找stars大于3000的
docker pull 镜像名称# 下载镜像
# 注意: 不写镜像版本,默认下载latest版本的
docker pull docker.io/libary/mysql:latest # 效果一致,也可以从阿里云仓库拉取
docker rmi -f #删除镜像
docker rmi -f 镜像id # 删除指定容器
docker rmi -f 容器id 容器id ... # 删除多个容器
docker rmi -f $(dockers images -aq) # 删除所有的容器
docker run [可选参数] image
# 参数说明
--name='NAME' 容器名字 tomcat01 tomcat02 ....区分容器
-d 后台方式运行
-it 使用交互方式运行,进入容器查看内容
-p 指定容器的端口 -p 8080:8080
-p ip:主机端口:容器端口
-p 主机端口:容器端口()## 常用
-p 容器端口
容器端口
-p 随机指定端口
# 查看运行的镜像
docker ps -a
# 停止运行的镜像
docker stop CONTAINER ID
# 卸载
docker rm CONTAINER ID
# docker ps 命令
#列出当前正在运行的容器
-a # 列出当前正在运行的容器+带出历史运行过的容器
-n=? # 显示最近创建的容器
-q # 只显示容器的镜像
exit # 直接容器停止退出
ctrl+p+q
# 容器不停止退出
docker rm 容器id
docker rm -f $(docker ps -aq) # 删除所有容器
# 正在运行的容器不可以被删除,如果需要 加上 -f
docker ps -a -q|xargs docker rm # 删除所有的容器
docker start 容器id # 启动容器
docker restart 容器id # 重启容器
docker stop 容器id# 停止容器
docker kill 容器id# 杀死进程
# 命令 docker run -d 镜像名
出现问题
# 从后台运行,但是ceontos停止了
# 常见的坑,docker 容器使用后台运行,就必须要有一个前台进程,docker发现没有应用,就会自动停止
# nginx,容器启动后,发现自己没有提供服务,就会立刻停止,就是没有服务了
# 显示日志
-tf # 显示所有的日志
--tail number # 显示最新的number条数据
docker logs -tf --tail 10 容器id
docker top 容器id # 查看运行的容器的 具体信息,包括UID,PIDPPID等
docker inspect # 查看进程详细信息
# 通常容器使用后台方式运行,需要进入容器,修改一些搜索
docker exec -it 容器id /bin/bash
# 方式二;
docker attach 容器id
# 进入后
正在执行的代码会一直执行
# 区别:
# docker exec # 进入容器后开启一个新的终端, 可以正常操作
# docker attach # 进入容器正在执行的终端
# 进入docker 容器
docker run -it centos /bin/bash
# 创建文件并退出容器
touch test.java
# 拷贝容器内文件
docker cp a2f628ce8940:/home/test.java /home
启动 systemctl start docker
守护进程重启 sudo systemctl daemon-reload
重启docker服务 systemctl restart docker
重启docker服务 sudo service docker restart
关闭docker service docker stop
关闭docker systemctl stop docker
查看docker运行状态 systemctl status docker
例子: 下载nginx并运行
# 搜索镜像
# 安装镜像
docker search nginx
#-d后台运行
# --name 给容器命名
# -p宿主机端口,容器内部端口
# nginx 容器
docker run -d --name nginx01 -p 3344:80 nginx
attach Attach to a running container # 当前 shell 下 attach 连接指定运行镜像
build Build an im 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 # 暂停容器
save Save an image to a tar archive # 保存一个镜像为一个 tar 包[对应 load]
tag Tag an image into a repository # 给源中镜像打标签
top Lookup the running processes of a container # 查看容器中运行的进程信息
unpause Unpause a paused container # 取消暂停容器
wait Block until a container stops, then print its exit code # 截取容器停止时的退出状态值age 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 #从容器中拷贝指定文件或者目录到宿主机中
diff Inspect changes on a containers filesystem # 查看 docker 容器变化
events Get real time events from the server # 从 docker 服务获取容器实时事件
exec Run a command in an existing container # 在已存在的容器上运行命令
export Stream the contents of a container as a tar archive # 导出容器的内容流作为一个 tar 归档文件[对应 import ]
history Show the history of an image # 展示一个镜像形成历史
import Create a new filesystem image from the contents of a tarball # 从tar包中的内容创建一个新的文件系统映像[对应export]
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