Docker常用命令总结
#docker服务自动重启设置
systemctl enable docker.service
#docker容器自动启动设置
# To configure the restart policy for a container, use the --restart flag when using the docker run command. The value of the --restart flag can be any of the following:
# Flag Description
# no - Do not automatically restart the container. (the default)
# on-failure - Restart the container if it exits due to an error, which manifests as a non-zero exit code.
# always - Always restart the container if it stops. If it is manually stopped, it is restarted only when Docker daemon restarts or the container itself is manually restarted. (See the second bullet listed in restart policy details)
# unless-stopped - Similar to always, except that when the container is stopped (manually or otherwise), it is not restarted even after Docker daemon restarts.
#仓库相关
KEY_WORD # 查找镜像
REGISTRY:$TAG # 获取镜像
IMAGE_NAME:$IMAGE_TAG # 推送镜像到仓库,需要先登录
REGISTRY_URL # 登录仓库
REGISTRY_URL # 退出仓库
$ docker info # 显示Docker详细的系统信息,可查看仓库地址
$ docker --help # 显示Docker的帮助信息
# 容器相关
CONTAINER_ID # 启动一个已存在的docker容器
$ docker exec #进入Docker容器
$ sudo docker ps
$ sudo docker exec -it 775c7c9ee1e1 /bin/bash
$ docker-compose exec <containtername/ID> bash
CONTAINER_ID # 停止docker容器
CONTAINER_ID # 启动docker容器
CONTAINER_ID # 重启docker容器
CONTAINER_ID # 强制关闭docker容器
CONTAINER_ID # 暂停容器
CONTAINER_ID # 恢复暂停的容器
CONTAINER_ID # 重新命名docker容器
CONTAINER_ID # 删除容器
CONTAINER_ID # 查看docker容器运行日志,确保正常运行
CONTAINER_ID # 查看container的容器属性,比如ip等等
CONTAINER_ID # 查看container的端口映射
CONTAINER_ID # 查看容器中正在运行的进程
CONTAINER_ID NEW_IMAGE_TAG # 将容器保存为镜像
$ docker ps -a # 查看所有容器
$ docker stats # 查看容器的资源使用情况
$ docker inspect # 来查看该容器的详细信息。
# 镜像相关
$ docker images # 查看本地镜像
IMAGE_ID # 删除本地镜像
IMAGE_ID # 查看镜像详情
IMAGE_ID > 文件路径 # 保存镜像为离线文件
IMAGE_ID # 保存镜像为离线文件
$ docker load < 文件路径 # 加载文件为docker镜像
$ docker load -i 文件路径 # 加载文件为docker镜像
IMAGE_ID NEW_IMAGE_TAG # 修改镜像TAG
IMAGE_ID $CMD # 运行一个镜像
IMAGE_ID # 显示镜像每层的变更内容
# run命令相关
# -d,后台运行容器, 并返回容器ID;不指定时, 启动后开始打印日志, Ctrl+C退出命令同时会关闭容器
# -i,以交互模式运行容器, 通常与-t同时使用
# -t,为容器重新分配一个伪输入终端, 通常与-i同时使用
# --name container_name,设置容器名称, 不指定时随机生成
# -h container_hostname,设置容器的主机名, 默认随机生成
# --dns 8.8.8.8,指定容器使用的DNS服务器, 默认和宿主机一致
# -e docker_host=172.17.0.1,设置环境变量
# --cpuset="0-2" or --cpuset="0,1,2",绑定容器到指定CPU运行
# -m 100M,设置容器使用内存最大值
# --net bridge,指定容器的网络连接类型, 支持bridge/host/none/container四种类型
# --ip 172.18.0.13,为容器指定固定IP(需要使用自定义网络none)
# --expose 8081 --expose 8082,开放一个端口或一组端口,会覆盖镜像设置中开放的端口
# -p [宿主机端口]:[容器内端口],宿主机到容器的端口映射,可指定宿主机的要监听的IP,默认为0.0.0.0
# -P,注意是大写的, 宿主机随机指定一组可用的端口映射容器expose的所有端口
# -v [宿主机目录路径]:[容器内目录路径],挂载宿主机的指定目录(或文件)到容器内的指定目录(或文件)
# --add-host [主机名]:[IP],为容器hosts文件追加host, 默认会在hosts文件最后追加[主机名]:[容器IP]
# --volumes-from [其他容器名],将其他容器的数据卷添加到此容器
# --link [其他容器名]:[在该容器中的别名],添加链接到另一个容器,在本容器hosts文件中加入关联容器的记录,效果类似于--add-host
docker run -d -p 27017-27019:27017-27019 --name mongodb mongo:latest
### Applicaton #######
cd /usr/local/teamops/target/
sudo java -Xms256m -Xmx512m -Dhttp.auth.preference=basic -Dfile.encoding=windows-1252 -jar /usr/local/teamops/target/teamops-0.0.1-SNAPSHOT.jar --spring.profile.active=dev
查看docker container内进程信息及与宿主机上进程的映射关系
docker ps 找到对应的容器 在这里插入图片描述
2、根据container id 找到容器在宿主机上映射后的进程信息
docker top 8c900d3fe375(容器id)
就会得到类似下面的信息,其中PID是容器内进程在宿主机上的pid,ppid是容器内进程在宿主机上的父进程pid