-
docker命令
docker search -f stars=1000 mysql 仓库查找mysql 热度大于1000
docker search --limit 10 mysql 仓库查找mysql 前10个
docker pull mysql 拉去mysql
docker images 查看镜像
docker inspect 镜像id 查看镜像元数据
docker top 容器id 查看进程信息
docker rmi -f ${docker images -qa} 删除所有
docker run -itd --name redis-test -p 6379:6379 redis 启动redis
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql 启动mysql
docker ps 查看正在运行的容器
docker ps -a 查看所有的容器
docker start/stop/restart/kill 启动/停止/重启/强制停止容器
docker rm 容器id 删除容器
docker attach 容器id 进入容器正在执行的终端,不会启动新的线程
docker exec -it 容器id 命令 进入容器开启一个新的终端,可以在里面操作
exit 退出并关闭容器
ctrl+q+p 退出不关闭容器
docker cp 64866ff2a006:/data/dump.rdb ./ 从容器内拷贝文件到linux
docker run -it -rm 名称 临时启动 不会留下容器id 关闭既删除
docker 镜像都是只读的,当容器启动时,一个新的可写层被加载到镜像顶部,这一层就是我们通常说的容器层,容器之下都叫镜像层
-v 容器路径 匿名挂载
-v 卷名:容器内路径 具名挂载
-v 指定路径:容器内路径 指定路径挂载
-v 容器路径:ro/rw 只读/可读可写
docker run -itd --name mysql-volume -p 3309:3306 -e MYSQL_ROOT_PASSWORD=123456 -v mysql-volume-data:/var/lib/mysql mysql
docker volume ls
docker volume inspect mysql-volume-data
-
docker-compose 命令
docker-compose up 构建/重新构建服务
docker-compose up -d 后台运行
docker-compose start [service] 启动已存在的服务
docker-compose stop 停止一个服务
docker stop $(docker-compose ps -q)停止docker-compose所有容器
-
docker启动命令
docker run -d --hostname my-rabbit --name rabbit -p 5672:5672 -p 15672:15672 rabbitmq:3-management
docker run -d --name=cddd -e CONSUL_BIND_INTERFACE=eth0 -p 8500:8500 consul
docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql
docker run --privileged=true -d --name zookeeper --publish 2181:2181 -d zookeeper
docker run -itd --name redis-test -p 6379:6379 redis
部署apollo 参考:https://gitee.com/angelinfo/apollo 去除pro
docker run -p 8080:8080 \
-e SPRING_DATASOURCE_URL="jdbc:mysql://192.168.138.138:3306/ApolloConfigDB?characterEncoding=utf8" \
-e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=123456 \
-d -v /tmp/logs:/opt/logs --name apollo-configservice apolloconfig/apollo-configservice
docker run -p 8090:8090 \
-e SPRING_DATASOURCE_URL="jdbc:mysql://192.168.138.138:3306/ApolloConfigDB?characterEncoding=utf8" \
-e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=123456 \
-d -v /tmp/logs:/opt/logs --name apollo-adminservice apolloconfig/apollo-adminservice
docker run -p 8070:8070 \
-e SPRING_DATASOURCE_URL="jdbc:mysql://192.168.138.138:3306/ApolloPortalDB?characterEncoding=utf8" \
-e SPRING_DATASOURCE_USERNAME=root -e SPRING_DATASOURCE_PASSWORD=123456 \
-e APOLLO_PORTAL_ENVS=dev \
-e DEV_META=http://192.168.138.138:8080 \
-d -v /tmp/logs:/opt/logs --name apollo-portal apolloconfig/apollo-portal
部署nacos
docker run -d \
-e PREFER_HOST_MODE=ip \
-e MODE=standalone \
-e SPRING_DATASOURCE_PLATFORM=mysql \
-e MYSQL_SERVICE_HOST=192.168.138.138 \
-e MYSQL_SERVICE_PORT=3306 \
-e MYSQL_SERVICE_USER=root \
-e MYSQL_SERVICE_PASSWORD=123456 \
-e MYSQL_SERVICE_DB_NAME=nacos_config \
-e TIME_ZONE='Asia/Shanghai' \
-v /home/dockerdata/nacos1.3.1/logs:/home/nacos/logs \
-p 8848:8848 \
--name nacos1.3.1 \
--restart=always \
nacos/nacos-server:1.4.1
-
docker-compose启动命令/文件
docker-compose 所有运行环境启动 nacos 在mysql中提前导入nacos所需数据,环境:redis mysql ribbitmq zookeeper nacos consul
version: "3.3"
services:
mysql:
container_name: mysql_env
image: mysql:5.7
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=123456
- TZ=Asia/Shanghai
volumes:
- mysqlData:/var/lib/mysql/
networks:
- env
redis:
container_name: redis_env
image: redis
ports:
- "6379:6379"
networks:
- env
ribbitmq:
container_name: ribbitmq_dev
image: rabbitmq:3-management
ports:
- "5672:5672"
- "15672:15672"
networks:
- env
consul:
container_name: consul_env
image: consul
ports:
- "8500:8500"
networks:
- env
zookeeper:
container_name: zookeeper_env
image: zookeeper
ports:
- "2181:2181"
networks:
- env
privileged: true
nacos:
container_name: nacos_env
image: nacos/nacos-server:1.4.1
restart: always
ports:
- 8848:8848
networks:
- env
environment:
- PREFER_HOST_MODE=ip
- MODE=standalone
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_SERVICE_HOST=mysql_env
- MYSQL_SERVICE_PORT=3306
- MYSQL_SERVICE_USER=root
- MYSQL_SERVICE_PASSWORD=123456
- MYSQL_SERVICE_DB_NAME=nacos_config
- TIME_ZONE='Asia/Shanghai'
- JVM_XMS=512m
- JVM_XMX=512m
- JVM_XMN=128m
volumes:
- nacosLogs:/home/nacos/logs
# - ./wait-for-it.sh:/wait-for-it.sh
# entrypoint: "/wait-for-it.sh -t 0 192.168.138.138:3306 -- "
# command: "bin/docker-startup.sh"
depends_on:
- mysql
volumes:
mysqlData:
nacosLogs:
networks:
env:
先启动mysql并导入 apollo所需sql文件
version: '3.3'
services:
apollo-configservice:
container_name: apollo-configservice
image: apolloconfig/apollo-configservice
volumes:
- type: volume
source: logs
target: /opt/logs
ports:
- "8080:8080"
environment:
- SPRING_DATASOURCE_URL=jdbc:mysql://192.168.138.138:3306/ApolloConfigDB?characterEncoding=utf8
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=123456
restart: always
network_mode: host
apollo-adminservice:
depends_on:
- apollo-configservice
container_name: apollo-adminservice
image: apolloconfig/apollo-adminservice
volumes:
- type: volume
source: logs
target: /opt/logs
ports:
- "8090:8090"
environment:
- SPRING_DATASOURCE_URL=jdbc:mysql://192.168.138.138:3306/ApolloConfigDB?characterEncoding=utf8
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=123456
restart: always
network_mode: host
apollo-portal:
depends_on:
- apollo-adminservice
container_name: apollo-portal
image: apolloconfig/apollo-portal
volumes:
- type: volume
source: logs
target: /opt/logs
ports:
- "8070:8070"
environment:
- SPRING_DATASOURCE_URL=jdbc:mysql://192.168.138.138:3306/ApolloPortalDB?characterEncoding=utf8
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=123456
- APOLLO_PORTAL_ENVS=dev
- DEV_META=http://192.168.138.138:8080
restart: always
network_mode: host
volumes:
logs:
driver: local
driver_opts:
type: none
o: bind
device: /tmp/logs
最终的yml文件
version: "3.3"
services:
mysql:
container_name: mysql_env
image: mysql:5.7
ports:
- "3306:3306"
environment:
- MYSQL_ROOT_PASSWORD=123456
- TZ=Asia/Shanghai
volumes:
- mysqlData:/var/lib/mysql/
networks:
- env
redis:
container_name: redis_env
image: redis
ports:
- "6379:6379"
networks:
- env
ribbitmq:
container_name: ribbitmq_dev
image: rabbitmq:3-management
ports:
- "5672:5672"
- "15672:15672"
networks:
- env
consul:
container_name: consul_env
image: consul
ports:
- "8500:8500"
networks:
- env
zookeeper:
container_name: zookeeper_env
image: zookeeper
ports:
- "2181:2181"
networks:
- env
privileged: true
nacos:
container_name: nacos_env
image: nacos/nacos-server:1.4.1
restart: always
ports:
- 8848:8848
networks:
- env
environment:
- PREFER_HOST_MODE=ip
- MODE=standalone
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_SERVICE_HOST=192.168.138.138
- MYSQL_SERVICE_PORT=3306
- MYSQL_SERVICE_USER=root
- MYSQL_SERVICE_PASSWORD=123456
- MYSQL_SERVICE_DB_NAME=nacos_config
- TIME_ZONE='Asia/Shanghai'
- JVM_XMS=512m
- JVM_XMX=512m
- JVM_XMN=128m
volumes:
- nacosLogs:/home/nacos/logs
# - ./wait-for-it.sh:/wait-for-it.sh
# entrypoint: "/wait-for-it.sh -t 0 192.168.138.138:3306 -- "
# command: "bin/docker-startup.sh"
depends_on:
- mysql
apollo-configservice:
depends_on:
- mysql
container_name: apollo-configservice_env
image: apolloconfig/apollo-configservice
volumes:
- type: volume
source: logs
target: /opt/logs
ports:
- "8080:8080"
network_mode: host
environment:
- SPRING_DATASOURCE_URL=jdbc:mysql://192.168.138.138:3306/ApolloConfigDB?characterEncoding=utf8
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=123456
restart: always
apollo-adminservice:
depends_on:
- apollo-configservice
- mysql
container_name: apollo-adminservice_env
image: apolloconfig/apollo-adminservice
volumes:
- type: volume
source: logs
target: /opt/logs
ports:
- "8090:8090"
network_mode: host
environment:
- SPRING_DATASOURCE_URL=jdbc:mysql://192.168.138.138:3306/ApolloConfigDB?characterEncoding=utf8
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=123456
restart: always
apollo-portal:
depends_on:
- apollo-adminservice
- mysql
container_name: apollo-portal_env
image: apolloconfig/apollo-portal
volumes:
- type: volume
source: logs
target: /opt/logs
ports:
- "8070:8070"
network_mode: host
environment:
- SPRING_DATASOURCE_URL=jdbc:mysql://192.168.138.138:3306/ApolloPortalDB?characterEncoding=utf8
- SPRING_DATASOURCE_USERNAME=root
- SPRING_DATASOURCE_PASSWORD=123456
- APOLLO_PORTAL_ENVS=dev
- DEV_META=http://192.168.138.138:8080
restart: always
volumes:
mysqlData:
nacosLogs:
logs:
driver: local
driver_opts:
type: none
o: bind
device: /tmp/logs
networks:
env: