docker常见命令

sudo -i     //切换到root用户

vi   某个文件名     //查看并编辑文件

 

mv  源文件名   修改后的文件名

 

一、docker常用命令

 systemctl restart docker   //重启docker

docker logs 容器id或名字  -f     查看容器的日志    -f代表follow 跟随式查看

①docker images   //查看docker已经下载安装的镜像

②docker pull  nginx     //使用docker拉取nginx镜像

③docker rmi nginx     //删除nginx镜像   (可以通过名字删除,也可以通过id删除)       i代表image(镜像)

  docker rm 容器名    //删除容器

④docker run nginx   //使用镜像创建并运行容器(run后面接的时镜像的名字或者id)

⑤docker ps    //查看现在运行的容器

⑥docker run -d nginx   //在后台运行对应的容器,不会占用当前端口

(可以直接使用docker run   ,如果镜像不存在,则自动拉取对应的镜像)

 

⑦docker run -p 80:80  nginx  //把宿主机的端口转发到容器内处理,前面的是宿主机端口,后面的是容器端口      -p用来绑定端口

⑧ -v 把宿主机的文件目录与容器的文件目录进行绑定,宿主机修改文件会影响容器的文件,容器修改文件也会影响宿主机的修改(挂载卷)

   -f 强制

sudo docker run -d -p 80:80 -v /lsx/website/html:/usr/share/nginx/html nginx

使用docker运行容器nginx, -d代表在后台运行,-p代表端口的映射,把宿主机的80映射到容器的80,-v表示把宿主机的目录与容器内的目录进行绑定(前面的是宿主机目录,后边是容器目录)

 

 

⑩查看容器启动时带的参数

docker inspect 容器id

 

 

⑪使用命令新创建一个挂载卷(通过-v  卷的名字:容器内目录 )    (命名卷挂载)

docker volume create nginx.html     (nginx.html是卷的名字)

 

在启动容器时:

docker run -d -p 80:80 -v nginx.html:/usr/share/nginx/html nginx    (标黑的地方是创建的挂载卷的名字,就不用使用宿主机的目录了)

 

查看挂载卷在宿主机中的真实存储目录

docker volume inspect nginx.html     (加黑的是卷的名字)

 

docker rm  容器id     //无法删除正在运行的容器,如果需要删除正在运行的容器:docker rm -f  容器id    (-f表示强制删除)

删除容器是docker rm       删除镜像是docker rmi

 

⑭docker volume list    //列出所有创建的卷

⑮docker volume rm   卷名字 ======    docker volume remove  卷名字    //删除一个卷

⑯docker volume prune -a    //删除所有没有任何容器在使用的卷

在容器内部执行linux命令

docker exec 容器id或名字  ps   -ef            //在容器内查看进程             ps   -ef 是linux命令,用于查看系统当前运行的进程

⑰使用docker命令进入容器内部进行调试       -it代表进入容器内部

 

docker exec -it 容器id /bin/sh     //就会进入容器里的shell,获得一个交互式的命令行环境,之后可以执行对应的linux命令

 

推送镜像步骤:

 

通过Dockerfile来自定义镜像

docker build -t docker_test .

 

 

推送镜像到docker hub

docker login  //先登录

docker build -t liansaixuan/docker_test .   //liansaixuan是用户名

 

docker push liansaixuan/docker_test

 

 

二、网络模式(桥接模式,host模式,none模式)

docker network create network1  //创建一个名字为network1的子网

 

使用host模式,docker容器直接共享宿主机的网络,容器直接使用宿主机的ip地址,无需-p参数进行端口映射

docker network list   //展示出所有docker网络

docker network rm  子网id    //删除自定义的子网

 

 

三、docker compose    使用docker将前端,后端,数据库进行容器化(多应用)

docker compose还可以自定义容器的启动顺序

ps.docker会为每一个compose文件都自动创建一个子网

 

 

 

 

实战

启动命令与docker-compose.yaml的区别

 

 

 

 

 

①现在服务器上创建一个docker-compose.yaml文件

vi docker-compose.yaml

在编写完

docker-compose.yaml之后

docker compose up -d 来运行该文件,就可以实现容器的启动

相反的命令是docker compose down    //停止并删除容器

docker compose stop    //只停止容器,不删除

docker compose start   //启动容器

 

 

运行的原则是:

Docker 会按照如下顺序查找 Compose 文件:

  1. 当前目录下是否存在 docker-compose.ymldocker-compose.yaml

  2. 如果存在,就使用这个文件作为服务定义

  3. 如果没有,就会报错:Can't find a suitable configuration file...

 

也可以通过-f进行显式指定compose文件   (-f指的是file)

 

posted @ 2025-07-10 15:25  连师傅只会helloword  阅读(13)  评论(0)    收藏  举报