基本操作
容器:类
镜像:对象
https://cr.console.aliyun.com:找镜像
docker search mysql 查看有啥mysql镜像(百度搜docker hub找版本)
docker pull redis:3.2 从阿里云把该镜像拉下来
docker images 我的docker仓库有啥镜像
docker ps 当前运行着啥容器
docker exec -it 542b9d392f3e redis-cli : 运行该容器
docker ps -a 查看所有容器的状态,包括关闭的
docker start 542b9d392f3e 启动容器
docker exec -it 542b9d392f3e /bin/bash 进入该容器
进入后再redis-cli即可进入redis
········运行镜像,产生容器··········
# -d:后台运行 --name:指定名字 镜像模板:镜像名
# -p [主机端口]:[容器端口]
docker run --name [自定义容器名] -d [指定镜像模板] -p 8080:8080
# 可以run多个
# 停止容器(ps中的容器id)
docker stop [容器ID]
# 删除容器
docker rm [容器id]
docker run -p 6379:6379 //端口映射
-v /dockerusr/myredis/data:/data
-v /dockerusr/myredis/conf/redis.conf:/usr/local/redis/redis.conf
-d redis:3.2 redis-server /usr/local/redis/redis.conf
--appendonly yes 安装镜像创建到容器(也叫运行镜像)
mysql镜像安装例子:
docker 核心概念
- docker主机(Host):安装了Docker程序的机器(Docker直接安装在操作系统上)
- docker客户端(Client):客户端通过命令行或其他工具使用Docker
- docker仓库(Registy):仓库用来保存镜像
- docker镜像(Images):Docker镜像适用于创建Docker容器的模板
- docker容器(Container):镜像启动后的实例成为一个容器
使用步骤
- 安装Docker
- 去Docker仓库找到这个软件对应的镜像(pull)
- 使用Docker运行这个镜像,这个镜像就会生成一个Docker容器(run)
- 对容器的启动停止就是对软件的启动停止
- 停止:stop
- 启动:start
SpringBoot
CentOS7
docker
2 yum update
3 yum install -y yum-utils device-mapper-persistent-data lvm2
4 yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
5 yum install docker-ce-18.03.1.ce
6 systemctl start docker
7 systemctl enable docker
mysql
# 8
docker run --name mysql01 -p 3306:3306 -v /home/dockerusr/mysql/logs:/logs -v /home/dockerusr/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=932567 -d mysql:8
# 5.7
docker run --name mysql5 -p 3306:3306 -v /dockerusr/mysql/logs:/var/log/mysql -v /dockerusr/mysql/data:/var/lib/mysql -v /dockerusr/mysql/conf:/etc/mysql -e MYSQL_ROOT_PASSWORD=932567 -d mysql:5.7
docker重启
systemctl daemon-reload
systemctl restart docker
systemctl stop docker
Tomcat
docker run --name tc01 -d -p 8080:8080 -v /home/dockerusr/tomcat/webapps:/usr/local/tomcat/webapps tomcat
Consul
docker run --name consul01 -p 8500:8500 -v /home/dockerusr/consul/conf:/consul/conf -v /home/dockerusr/consul/data/:/consul/data/ -d consul:1.6
docker run --name consul01 -p 8500:8500 -d consul:1.6
RocketMq
docker pull foxiswho/rocketmq:server-4.5.1
docker pull foxiswho/rocketmq:broker-4.5.1
docker pull styletang/rocketmq-console-ng
docker run -d -p 9876:9876 --name rmqserver foxiswho/rocketmq:server-4.5.1
docker run -d -p 10911:10911 -p 10909:10909
--name rmqbroker --link rmqserver:namesrv
-e "NAMESRV_ADDR=namesrv:9876"
-e "JAVA_OPTS=-Duser.home=/opt"
-e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m"
-v /home/dockerusr/rocketmq/conf/broker.conf:/etc/rocketmq/broker.conf
foxiswho/rocketmq:broker-4.5.1
docker run -d --name rmqconsole -p 8180:8080
--link rmqserver:namesrv
-e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876
-Dcom.rocketmq.sendMessageWithVIPChannel=false" -t styletang/rocketmq-console-ng