记录构建各种容器的命令:
构建容器
nginx
sudo docker run -d --name my-nginx \
-p 8080:8080 \
-v /home/loser/project/Hmdp/Hmdp-java/hmdp/nginx-1.18.0/conf/nginx.conf:/etc/nginx/nginx.conf \
-v /home/loser/project/Hmdp/Hmdp-java/hmdp/nginx-1.18.0/html:/usr/share/nginx/html \
nginx
mysql
sudo docker run --name my-mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-p 3306:3306 \
-d mysql
redis
docker run -d --name my-redis \
-p 6379:6379 \
-v /opt/redis/data:/data \
-v /opt/redis/conf/redis.conf:/etc/redis/redis.conf \
redis:latest \
redis-server /etc/redis/redis.conf
zookeeper
sudo docker run -d --name zookeeper \
-p 2181:2181 \
-v /etc/localtime:/etc/localtime \
wurstmeister/zookeeper
kafka
sudo docker run -d --name kafka \
-p 9092:9092 \
--link zookeeper:zookeeper \
--env KAFKA_ZOOKEEPER_CONNECT=zookeeper:2181 \
--env KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://localhost:9092 \
--env KAFKA_LISTENERS=PLAINTEXT://0.0.0.0:9092 \
--env KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR=1 \
wurstmeister/kafka
mongo
sudo docker run -d --name my-mongo \
-p 27017:27017 \
-v /home/loser/data/mongo/data:/data/db \
-e MONGO_INITDB_ROOT_USERNAME=root \
-e MONGO_INITDB_ROOT_PASSWORD=123456 \
mongo:latest --auth
容器操作
- 删除容器
sudo docker stop container | xargs sudo docker rm
- 利用
Dockerfile
构建容器
sudo docker build -t imags:tags . # 指定 Dockerfile 所在的目录
网络操作
- 创建网络名称并且指定子网掩码:
$ docker network create --subnet 172.0.0.0/24 net-test
- 查看网络段详情:
$ docker network inspect net-test
- 删除网络段
$ docker network rm net-test
- 给容器分配网络段
$ docker run --name go-net-test --ip 172.0.0.2 --net net-test -d go
日志操作
$ docker logs -f container-name
docker-compose
- 启动容器
sudo docker-compose up -d # 根据配置文件内容开启容器
- 停止服务:
sudo docker-compose down
参考: https://juejin.cn/post/7042663735156015140