昨天我们知道了如何在服务器上部署自己的微服务的项目,但是对于很多命令,有小伙伴们就开始疑惑了,命令那么多,我到底应该怎么知道哪些是自己可能会用到的,而且也想了解一下这个命令都是用来做什么的,今天了不起就来给大家伙说说这个Docker 中的各项的命令 。毕竟开发都离不开实战 。
Docker 命令【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] :删除一个服务 。
推荐阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 直播房间服务基于CQRS的架构演进实践
- 数据库的数字化运维能力,你了解了吗?
- GreatSQL一个关于主从复制的限制描述与规避
- 如何用Java实现B+树和跳表的高效存储?
- 10分钟搞懂K8S的亲和与反亲和调度
- 网络架构搜索的概念、原理和应用
- 从测度传输的角度来理解和利用神经网络的重要性
- 全卷积网络中FCN与U-net的区别
- 重参数化技术的原理和应用
- 可以接受任意尺寸图像的全卷积神经网络