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 文件:
-
当前目录下是否存在
docker-compose.yml或docker-compose.yaml -
如果存在,就使用这个文件作为服务定义
-
如果没有,就会报错:
Can't find a suitable configuration file...
也可以通过-f进行显式指定compose文件 (-f指的是file)

浙公网安备 33010602011771号