查看本机上的所有镜像:
docker images
查看本机上的所有容器:
docker ps -a
查看某个特定镜像或容器的信息:
# 查看特定镜像的详细信息
docker inspect <image_id_or_name>
# 查看特定容器的详细信息
docker inspect <container_id_or_name>
# 进入已经运行的容器
docker exec -it <container_id_or_name> /bin/bash
停止并删除所有运行中的容器:
# 停止并删除所有运行中的容器
docker stop $(docker ps -aq)
docker rm $(docker ps -aq)
# 删除所有镜像
docker rmi $(docker images -q)
# 删除 除特定镜像外的所有其他镜像
docker images -a --format "{{.ID}}" | grep -v "<指定镜像ID>" | xargs docker rmi
# 删除 除指定容器之外的其他所有容器
docker ps -a --format "{{.ID}}" | grep -v "<指定容器ID>" | xargs docker rm
# 删除 除指定几个容器之外的所有其他容器
docker ps -a --format "{{.ID}}" | grep -v -e "<容器ID1>" -e "<容器ID2>" | xargs docker rm
grep -v 是反选的意思,即排除想保留的
构建Docker镜像:
# 在Dockerfile所在目录运行
docker build -t imgName .
# 在构建Docker镜像时禁用构建缓存,强制重新执行每个步骤,去除过期数据
docker build --no-cache -t imgName .
#指定Dockerfile的路径进行构建
docker build -f Dockerfile文件路径 -t imgName Dockerfile文件路径
运行Docker容器:
# 在后台运行一个容器:
docker run -d 镜像名称:latest
# 打开一个交互式伪终端容器 ,--rm 代表容器停止后自动删除他
docker run -it --rm 镜像名称:latest
# 将主机的8080端口映射到容器的80端口
docker run -p 8080:80 镜像名称:latest
# 将主机上的 /host/path 目录挂载到容器中的 /container/path 目录
docker run -v /host/path:/container/path 镜像名称:latest
查看当前Docker版本:
docker --version
docker搭建Maven私服:
# 下载nexus3镜像
docker pull sonatype/nexus3
# 运行
docker run -d -p 8081:8081 --name maven-nexus3 -v /home/pc/maven-nexus3:/sonatype-work --restart=always sonatype/nexus3
# 查看admin 密码:
docker exec -it maven-nexus3 /bin/bash
cat /opt/sonatype/sonatype-work/nexus3/admin.password
将容器内生成的文件拷贝出来:
docker cp 容器ID或容器名:容器内原路径 本机目标路径
docker cp Nginx:/pem/fd.pem fd.pem