docker安装
https://docs.docker.com/install/linux/docker-ce/centos/
创建网络
docker network create --help
创建一个其他的网段(docker默认使用172.17.0.1网段),使用如下命令。
docker network create --driver bridge --subnet 172.18.0.0/24 --gateway=172.18.0.1 prod
docker network create --driver bridge prod
docker 列出每个容器的IP
docker inspect 容器ID | grep IPAddress
下载镜像
配置使用国内镜像:修改Docker配置文件/etc/default/docker如下
DOCKER_OPTS="--registry-mirror=https://..."
docker pull redis
docker pull ...
启动
进入容器
docker exec -it 9df70f9a0714 /bin/bash
redis 如果需要映射出IP加上: -p 6379:6379 \
docker run -it --network prod --network-alias redis -v /home/docker/redis/conf/redis.conf:/usr/local/etc/redis/redis.conf -v /home/docker/redis/data:/var/lib/redis \
-v /home/docker/redis/log:/var/log/redis \
--restart=always \
--name redis redis redis-server /usr/local/etc/redis/redis.conf --appendonly yes
mysql
先运行这个镜像copy出配置
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456! -d mysql
等初始化完成以后再复制
移动出mysql data
docker cp mysql:/var/lib/mysql/ /home/docker/mysql/data
copy出 配置文件
docker cp mysql:/etc/mysql/my.cnf /home/docker/mysql/conf/my.cnf
停止容器 删除容器
docker rm -f mysql
docker run --name mysql -e MYSQL_ROOT_PASSWORD=123456! --privileged=true --network prod --network-alias mysql --restart=always -v /home/docker/mysql/conf/my.cnf:/etc/mysql/my.cnf \
-v /home/docker/mysql/data:/var/lib/mysql \
-d mysql
nginx
先运行这个镜像copy出配置
docker run --name nginx -d nginx
等初始化完成以后再复制
docker cp nginx:/etc/nginx/ /home/docker/nginx/
mv nginx/ conf
docker cp nginx:/usr/share/nginx/html /home/docker/nginx
docker rm -f nginx
运行
docker run --name nginx -d -p 80:80 -p 443:443 --network prod --network-alias nginx --restart=always -v /home/docker/nginx/html:/usr/share/nginx/html:ro -v /home/docker/nginx/conf:/etc/nginx -v /home/docker/nginx/logs:/var/log/nginx nginx
rabbitmq
网段:
docker run -d --name rabbitmq --network prod --network-alias rabbitmq --restart=always -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 rabbitmq:3-management
映射:
docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 --restart=always -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=123456 rabbitmq:3-management
java服务:
docker push registry.cn-chengdu.aliyuncs.com/flchy/xxx:1.0
docker pull registry.cn-chengdu.aliyuncs.com/flchy/xxx:1.0
docker run -d --name xxx --network prod --network-alias xxx --restart=always -v /home/docker/xxx/logs:/logs/ registry.cn-chengdu.aliyuncs.com/flchy/xxx:1.0