聊聊Docker的各种有用命令

开发 架构
我们先通过ps看到了我们的test 容器,这时候,我们需要去停止这个容器,这时候就是执行了stop的命令,直接停止了,然后再次查看的时候,已经只有 mysql 的存在了。

昨天我们知道了如何在服务器上部署自己的微服务的项目,但是对于很多命令,有小伙伴们就开始疑惑了,命令那么多,我到底应该怎么知道哪些是自己可能会用到的,而且也想了解一下这个命令都是用来做什么的,今天了不起就来给大家伙说说这个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] :删除一个服务。


责任编辑:武晓燕 来源: Java极客技术
相关推荐

2010-02-23 15:32:51

2014-12-19 11:37:37

Docker

2013-08-13 10:46:51

LinuxLinux命令

2016-03-16 11:20:47

2020-09-28 15:14:31

Linux常用命令实用命令

2015-10-08 14:47:07

命令时间Linux

2022-03-04 08:45:11

Docker开源Linux

2022-07-26 07:14:52

Docker宿主命令

2022-07-12 08:00:31

命令Kubernetes应用程序

2010-04-07 11:21:28

Oracle常用命令

2022-05-05 08:08:55

Podman命令Linux

2021-06-07 08:04:39

Restorecon命令安全

2009-12-23 16:39:55

WPF命令

2009-12-17 14:29:50

Ruby on Rai

2021-06-01 07:55:42

DockerEOFk8s

2010-06-22 17:45:34

Linux Autom

2010-05-17 15:41:26

2018-02-02 16:32:10

KubernetesDocker命令

2011-01-19 17:00:09

Postfix常用命令

2014-01-02 09:57:56

PostgreSQL命令
点赞
收藏

51CTO技术栈公众号