#搜索镜像 php可替换为其他
docker search php
#拉取php镜像
docker pull php
#拉取指定版本镜像
docker pull php:7.4-fpm
#查看本地镜像
docker images
#或
docker image ls
#启动容器
# --name 指定容器名称, -p 映射端口(可多个-v) [宿主端口:容器端口], -v 映射目录(可多个-v) [宿主目录:容器目录], -d 后台运行, php:7.4-fpm 镜像名称
docker run --name php74-fpm -p 9000:9000 -v /data/www:/data/www -d php:7.4-fpm
#启动容器并将容器加入自动启动
docker run --name php74-fpm -p 9000:9000 -v /data/www:/data/www -d --restart=always php:7.4-fpm
#镜像内部没有常驻进程时、通过tail -f /dev/null 可以保持容器常驻
docker run --name php56 -v /data/:/data/ -d php:5.6 tail -f /dev/null
#设置已有docker容器随docker启动模式
docker ps -qa
docker update --restart=always 容器ID/容器名
# --restart具体参数值详细信息:
# no // 默认策略,容器退出时不重启容器;
# on-failure // 在容器非正常退出时(退出状态非0)才重新启动容器;
# on-failure:3 // 在容器非正常退出时重启容器,最多重启3次;
# always // 无论退出状态是如何,都重启容器;
# unless-stopped // 在容器退出时总是重启容器,但是不考虑在 Docker 守护进程启动时就已经停止了的容器
#启动并进入容器
#-it终端交互
docker run -it containerId /bin/bash
#查看容器(仅运行中) 加入 -a 参数可显示已停止容器
docker ps
#或
docker container ls
#进入容器 (推荐,进入容器后输入exit 不会导致容器停止)
docker exec -it 容器id或别名 /bin/bash
#进入容器2(不推荐,进入容器后输入exit 会导致容器停止)
docker attach 容器id或别名
#容器启动/停止/重启
docker start 容器id或别名
docker stop 容器id或别名
docker restart 容器id或别名
#删除容器
docker rm 容器id或名称
#或
docker container rm 容器id或名称
#删除镜像(需停止所有该镜像启动的容器后操作)
docker rmi 镜像id或名称
#或
docker images rm 镜像id或名称
#容器打包镜像(慎用)
docker commit[选项] <容器ID或容器名> [<仓库名>[:<标签>]]
#镜像保存为本地文件(会保存所有元数据和提交信息等,体积较大)
docker save -o 文件名.tar 镜像名[:标签]
#从文件载入镜像
docker load --input 文件名.tar
#将容器保存为本地文件(仅保存当前状态,体积相对较小)
docker export -o 文件名.tar 容器id或名称
#从文件导入容器快照
docker import 文件名.tar <新镜像名称[:标签]>
#宿主机和docker复制文件
docker cp source target
docker cp /data/a.txt php7:/data/