容器操作
运行
docker run
起名运行
docker run -d --name 容器名 使用的镜像
端口映射
docker run -d –name 容器名 -p 外部端口:容器端口 镜像
docker run -d --name mynginx -p 30001:80 nginx
查看
docker ps
停止
docker stop
启动
docker start
重启
docker restart
状态
docker stats
日志
docker logs
docker logs app02
进入
docker exec
交互模式进入
docker exec -it mynginx /bin/bash
docker exec -it 0cd bash
删除
docker rm
运行或者不运行的都删除,即强制删除
docker rm -f
批量删除
docker rm -f $(docker ps -aq)
提交
docker commit --help
保存
docker save
docker save -o mynginx.tar mynginx:v1.0
加载
docker load --help
docker load -i mynginx.tar
分享镜像
docker login
docker tag --help
docker tag 源镜像名:标签 halosho/新镜像名:标签
docker push
docker push haloshop/新镜像名:标签
存储
目录挂载
docker run
-d
-p 30001:80
-v /app/docker/nghtml:/usr/share/ngixn/html
–name app01
nginx
写入数据
echo test nginx > index.html
追加内容
echo test >>index.html
卷映射
docker run
-d
-p 30002:80
-v /app/docker/nginx/html:/usr/share/nginx/html
-v /app/docker/nginx/conf:/etc/nginx
–name app02
nginx
上面这个无法run起来,因为找不到配置文件(docker logs id/容器名)
下面才是正确的
docker run -d -p 30003:80
-v /app/docker/nginx/html:/usr/share/nginx/html
-v ngconf:/etc/nginx
–name app03
nginx
cd /var/lib/docker/volumes/ngconf/_data
列出所有的卷
docker volume ls
创建一个卷
docker volume create 卷名
查看卷的详情
docker volume inspect 卷名
docker volume inspect ngconf
网络
自定义网络
ip a
docker container inspect app01
curl http://容器ip:容器端口
curl http://172.17.0.3:80
docker0默认不支持主机域名
创建自定义网络,容器名就是稳定域名
自定义网络
docker network –help
docker network create mynet
docker network ls
docker run -d -p 30002:80 --name app2 --network mynet nginx
容器内部网络访问
curl http://app2:80
网络-Redis主从集群
修改可读可写权限
-R:递归 777:可读可写 redis:目录名
chmod -R 777 redis
主机
docker run -d -p 6300:6379
-v /app/docker/redis/data/rd1:/bitnami/redis/data
-e REDIS_REPLICATION_MODE=master
-e REDIS_PASSWORD=123456
–network mynet
–name redis01
bitnami/redis
从机
docker run -d -p 6301:6379 \
-v /app/docker/redis/data/rd2:/bitnami/redis/data \
-e REDIS_REPLICATION_MODE=slave \
-e REDIS_PASSWORD=123456 \
-e REDIS_MASTER_HOST=redis01 \
-e REDIS_MASTER_PORT_NUMBER=6379 \
-e REDIS_MASTER_PASSWORD=123456 \
–network mynet –name redis02 \
bitnami/redis