昨天我们知道了如何在服务器上部署自己的微服务的项目,但是对于很多命令,有小伙伴们就开始疑惑了,命令那么多,我到底应该怎么知道哪些是自己可能会用到的,而且也想了解一下这个命令都是用来做什么的,今天了不起就来给大家伙说说这个Docker 中的各项的命令。毕竟开发都离不开实战。
docker build [image_name] :基于Dockerfile构建一个镜像。
这个我们都熟悉了,昨天了不起已经给大家说了,把我们的jar包构建成一个镜像,
docker run --name [container_name] [image_name] :运行一个容器并指定名称。
直接运行我们打的镜像,而且也可以指定端口号启动,比如如下的启动命令
docker run -p 18081:18081 xxx(test)
但是这种启动方式,则会直接打印启动日志,但是不会以后台的方式启动
-i 以交互模式运行容器,通常与 -t 同时使用 -t 启动容器后,为容器分配一个命令行,通常与 -i 同时使用 -v 目录映射,容器目录挂载到宿主机目录,格式: :<容器目录> -d 守护进程,后台运行该容器 -p 指定端口映射,格式:主机(宿主)端口:容器端口 -P 随机端口映射,容器内部端口随机映射到主机的端口(49153起始 49153到65535) -u 以什么用户身份创建容器 –name “nginx-lb” 容器名字 -m, --memory bytes 设置容器使用内存最大值 -h, --hostname string 指定容器的 host name –dns 8.8.8.8 指定容器 dns 服务器 -e username=“ritchie” 设置环境变量 –restart Docker 重启后,容器是否自动重启 –privileged 容器内是否使用真正的 root 权限
docker images :列出本地所有的镜像。
这个命令很简单,就是列出,我们使用docker安装的各种镜像,比如昨天了不起打包成的一个小的微服务 test 的镜像还有mysql的镜像。
docker ps :列出所有正在运行的容器。
我们这时候就可以看到目前现在正在运行的镜像容器,一个是我们的 test 另外一个则是装好的 mysql而且还有他们的端口号
docker logs [container_id] :查看一个容器的日志。
docker inspect [container_id] :显示一个容器的详细信息。
这个时候,我们可以看到这个服务在容器内的IP,如果想要连接mysql的服务器的话,那么你就可能需要这个命令,因为这个mysql你是用 docker 部署并且启动的,不是么?
docker stop [container_id] :停止一个正在运行的容器。
不错,我们先通过ps看到了我们的test 容器,这时候,我们需要去停止这个容器,这时候就是执行了stop的命令,直接停止了,然后再次查看的时候,已经只有 mysql 的存在了。
docker rmi [image_id] :删除一个镜像。
docker rm [container_id] :删除一个容器。
这两个命令也是我们在部署的时候会经常用到的,因为我们在在做了新的需求之后,就肯定需要部署新的服务包,这个时候,就需要重新打包镜像了,删除容器和删除镜像都需要使用到了。
docker network ls :列出所有网络。
其实上述内容,都是我们在部署微服务的时候最有用的,其他的都是属于了解的了,了不起也来给大家列出这个内容大家有兴趣的可以了解一下了。
docker run [image_name] :运行一个容器。 docker ps :列出所有正在运行的容器。 docker images :列出本地所有的镜像。 docker pull [image_name] :从仓库下载一个镜像。 docker push [image_name] :将一个镜像推送到仓库。 docker build [image_name] :基于Dockerfile构建一个镜像。 docker stop [container_id] :停止一个正在运行的容器。 docker restart [container_id] :重启一个容器。 docker rm [container_id] :删除一个容器。 docker rmi [image_id] :删除一个镜像。 docker logs [container_id] :查看一个容器的日志。 docker inspect [container_id] :显示一个容器的详细信息。 docker exec [container_id] [command] :在运行的容器中执行命令。 docker cp [container_id:/path/to/file] [local_file_path] :从容器中复制文件到本地。 docker network ls :列出所有网络。 docker network create [network_name] :创建一个新的网络。 docker network connect [container_id] [network_name] :将容器连接到一个网络。 docker network disconnect [container_id] [network_name] :将容器从一个网络中断开连接。 docker port [container_id] :查看容器的端口映射。 docker run --name [container_name] [image_name] :运行一个容器并指定名称。 docker run -p [host_port]:[container_port] [image_name] :将主机端口映射到容器端口运行一个容器。 docker run -it [image_name] :以交互模式运行一个容器。 docker run -d [image_name] :以后台模式运行一个容器。 docker stats [container_id] :查看一个容器的资源使用情况。 docker top [container_id] :查看一个容器中运行的进程。 docker commit [container_id] [new_image_name] :创建一个新的镜像并提交更改。 docker save [image_name] > [file.tar] :将镜像保存为tar文件。 docker load < [file.tar] :从tar文件中加载镜像。 docker tag [image_name] [new_image_name] :创建一个新的镜像标签。 docker login :登录到Docker Hub。 docker logout :退出Docker Hub。 docker volume ls :列出所有存储卷。 docker volume create [volume_name] :创建一个存储卷。 docker volume rm [volume_name] :删除一个存储卷。 docker run --mount source=[volume_name],target=[container_path] [image_name] :挂载一个存储卷到容器。 docker system prune :删除未使用的数据(如未使用的镜像、容器等)。 docker swarm init :初始化Swarm mode。 docker service ls :列出所有服务。 docker service create [service_name] :创建一个新的服务。 docker service rm [service_name] :删除一个服务。
如果觉得博客文章对您有帮助,异或土豪有钱任性,可以通过以下扫码向我捐助。也可以动动手指,帮我分享和传播。您的肯定,是我不懈努力的动力!感谢各位亲~