参考文章 https://www.yuque.com/leifengyang/sutong/au0lv3sv3eldsmn8#apfCS | |
docker search | |
docker pull | |
docker images | |
docker rmi | |
docker run | |
docker ps | |
docker stop | |
docker start | |
docker restart | |
docker stats | |
docker logs | |
docker exec | |
docker rm | |
docker run nginx -d -p 80:80 --name mynginx | |
-d 后台运行 | |
-p 80:80 端口映射,前80是宿主机端口,后80是容器端口 | |
-v /data/nginx/html:/usr/share/nginx/html 挂载目录 | |
--name mynginx 容器名称 | |
docker run -d -p 80:80 --name mynginx nginx | |
docker run -d -p 80:80 --name mynginx -v /data/nginx/html:/usr/share/nginx/html nginx | |
docker exec -it mynginx /bin/bash 进入容器 | |
exit | |
docker commit | |
docker save | |
docker load | |
docker login | |
docker tag | |
docker push | |
docker ps -aq 打印所有容器id | |
docker rm -f $(docker ps -aq) 删除所有容器 |
docker 存储:
目录挂载:
卷映射:
docker volume inspect passerbyzh_nginx
docker run -d -p 8008:80 --name mynginx_local -v passerbyzh_nginx_config:/etc/nginx passerbyzh8720/mynginx
\wsl$\docker-desktop\mnt\docker-desktop-disk\data\docker\volumes\passerbyzh_nginx_data
\wsl.localhost\docker-desktop
docker 网络:
docker 为每个容器分配唯一 ip,使用 docker network inspect bridge 查看,使用容器 ip + 端口访问容器
ip 地址可能会变,使用 docker container inspect 查看 ip 地址
docker0 默认不支持主机域名
docker network create mynet
docker run -d -p 8008:80 --name app1 --network mynet --ip 172.18.0.3 -v app1:/etc/nginx passerbyzh8720/mynginx
docker run -d -p 8008:80 --name app2 --network mynet --ip 172.18.0.3 -v app2:/etc/nginx passerbyzh8720/mynginx
docker network inspect mynginx_local
curl http://app2
Redis 主从同步:
docker run -d -p 6377:6379 -v C:\Users\54474\Desktop\docker\redis\rd1:/bitnami/redis/data -e REDIS_REPLICATION_MODE=master -e REDIS_PASSWORD=123456 -e REDIS_EXTRA_FLAGS="--bind 0.0.0.0" --network mynet --name redis01 bitnami/redis |
docker run -d -p 6378:6379 -v C:\Users\54474\Desktop\docker\redis\rd2:/bitnami/redis/data -e REDIS_REPLICATION_MODE=slave -e REDIS_MASTER_HOST=redis01 -e REDIS_MASTER_PORT_NUMBER=6379 -e REDIS_MASTER_PASSWORD=123456 -e REDIS_PASSWORD=123456 --network mynet --name redis02 bitnami/redis |
docker run -d -p 3307:3306 -v C:\Users\54474\Desktop\docker\mysql\myconf:/etc/mysql/conf.d -v C:\Users\54474\Desktop\docker\mysql\mydata:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 --name mymysql mysql:8.0.37-debian
# docker compose
https://docs.docker.com/reference/compose-file/
docker compose up -d 上线 | |
docker compose down 下线 | |
docker compose start x1 x2 x3 启动 | |
docker compose stop x1 x2 x3 停止 | |
docker compose scale x1=2 x2=3 扩容 | |
docker compose -f docker-compose.yml up -d 只会启动修改过的容器 | |
docker compose -f compose.yml down --rmi all -v 删除容器和卷 |
#Dockerfile
https://docs.docker.com/reference/dockerfile/
<img src="..\imgs\Snipaste_2025-03-20_02-30-08.png"/>