docker 命令

sudo systemctl status docker

确认Docker守护进程是否正在运行

sudo systemctl start docker

启动docker引擎

sudo systemctl restart docker

重新启动docker引擎

docker pull [r:tag]

从仓库中拉取镜像

docker images 

查看本地所有镜像

docker rmi  

删除本地镜像

docker rm  

删除容器

docker save busybox:latest hello-world:latest > export.tar

导出镜像

docker load -i [xxx.tar]

导入镜像 --input string   Read from tar archive file, instead of STDIN

docker run -d --name mytomcat -p 8089:8080 tomcat:jdk21

启动一个docker容器,如果这个容器镜像没有在本地,那么会从hub上面进行拉取再启动。

-d  Run container in background and print container ID(在后台运行,并输入容器的id)

启动后可以配合docker  logs  [容器id] 来查看输入日志

docker run --rm -it my-laravel-app php artisan tinker

  --rm 确保容器在退出后会被自动删除。对于那些只需要短暂存在或一次性执行的任务来说,--rm 非常合适。例如,你可能想要运行一个命令来测试应用程序的行为,或者执行一些数据库迁移操作,一旦任务完成就没有必要保留容器了

docker logs --help 

帮助指令,其他的命令也可以这么写。例如,docker run --help

docker stop [容器id]

停止容器

docker start[容器id]

运行容器

docker ps

查看所有已经在运行的容器

docker ps -a  

查看所有容器(包括已经运行的和没有在运行的)

docker exec -it [容器id] /bin/bash

进入容器命令行

exec

退出容器命令行

docker cp 20241212020001.tar.gz mytomcat:/tmp/

从宿主机复制文件到容器中。其中mytomcat是启动容器时的容器名称。

docker cp mytomcat:/usr/local/tomcat/BUILDING.txt ./

从容器中复制命令到宿主机

docker export -o mytomcat.tar mytomcat

将容器导出

docker import mytomcat.tar tomcat2 

将.tar容器文件导入,并成为一个新的镜像

docker  commit 

将当前的容器生成一个新的镜像,例如:docker commit -a "John Doe <john.doe@example.com>" my_container my_new_image:latest

尽管 docker commit 是一个方便的功能,但为了保持良好的镜像管理习惯,建议尽可能使用 Dockerfile 来定义和构建镜像,而不是依赖于提交运行中的容器

数据卷 docker volume

docker volume create my-volume

创建数据卷,命名卷的数据会保存在 Docker 主机上的特定位置,通常是 /var/lib/docker/volumes/ 下的一个子目录中,但具体的路径取决于 Docker 的配置

docker volume ls

列出所有数据卷

docker volume inspect my-volume 

查看数据卷详细信息

docker volume rm my-volume

删除数据卷

 docker run 中使用数据卷(推荐mount方式)

方式一:docker run -d --name my-container -v my-volume:/app my-image

方式二:docekr run -d --name my-container --mount source=my-volume,destination=/app my-image

--mount 选项提供了更加明确的语法,并且支持更多配置选项,例如:设置权限模式或读写权限。

挂载多个数据卷示例:

docker run -d \
  --name my-container \
  --mount type=bind,source=/host/path1,destination=/container/path1 \
  --mount type=bind,source=/host/path2,destination=/container/path2 \
  --mount type=volume,source=named-volume,destination=/container/path3 \
  my-image

docker网络指令

docker network ls

列出所有的网络

  • 说明:列出所有 Docker 网络,包括默认的 bridgehost 和 none 网络。  

     输出示例:

     

docker network create [OPTIONS] NETWORK_NAME

 创建网络

参数解释: 

    

docker network inspect NETWORK_NAME

 检查网络详情 

 说明:显示指定网络的详细信息,包括网络配置、连接的容器等。

docker network connect NETWORK_NAME CONTAINER_NAME

将现有的容器连接到网络

  

  例如:docker network connect --alias=my_alias --ip=172.18.0.10 my_bridge_network my_container

docker network disconnect NETWORK_NAME CONTAINER_NAME

端口容器与网络

docker network rm NETWORK_NAME

删除网络

可以在容器启动(docker  run)时,通过--network指定网络

docker run -d --name container_name --network my_bridge_network IMAGE

 

 

 

 

 

 

 

 

 

 

    

 

posted @ 2024-12-18 15:01  洛飞  阅读(11)  评论(0编辑  收藏  举报