bashcurl -L https://get.daocloud.io/docker/compose/releases/download/1.25.5/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
jschmod 777 /usr/local/bin/docker-compose
ymlversion:"3.0"
services:
tomcat:
#container_name:tomcat01 #指定一个名称 不推荐使用
image:tomcat:8.0 #代表使用哪个镜像。
ports: #映射端口号。
- 8080:8080
mysql:
image:mysql:5.6
ports:
- "3306:3306"
environment: #指定环境
- "MYSQL_ROOT_PASSWORD=123456"
volumes: #数据卷
# - /root/test:/var/lib/mysql #绝对路径方式,但需要提前创建好挂载目录。
- mysqldata:/var/lib/mysql #别名挂载,需要去声明数据卷别名。
volumes:
mysqldata: #生命数据卷别名
相关信息
jsFROM :当前镜像是基于哪个镜像的 第一个指令必须是FROM
MAINTAINER :镜像的维护者姓名和邮箱
RUN :构建镜像时需要运行的指令
EXPOSE :当前容器对外暴露的端口号
WORKDIR :指令在创建容器后,终端默认登录进来的工作目录,一个落脚点
ENV :用来在构建镜像过程中设置环境变量
ADD :将宿主机目录下的文件拷贝进镜像且ADD命令会自动处理URL和解压tar包
COPY :类似ADD,宝贝文件和目录到镜像中,将从构建上下文目录中的原路径文件目录复制到新的一层的镜像内的目标路径位置
VOLUME :容器数据卷
CMD :指定一个容器启动时要运行的命令,Dockerfile中可以有多个CMD指令,但只有最后一个生效,CMD会被docker run之后的参数替换
ENTRYPOINT :指定一个容器启动时要运行的命令,和CMD一样。
jsdocker volume ls
jsdocker inspect 数据卷别名
jsdocker volume rm 数据卷别名
jsdocker volume create 数据卷别名
jsbridge、host、null
bashdocker network create -d 网桥名称
jsdocker network ls
jsdocker network inspect 网桥名称
jsdocker network rm 网桥名称
jsdocker pull redis:5.0.12
jsdocker run -p 6379:6379 镜像id
js
docker run --name redis01 -d -p 6379:6379 -v redistest:/data --restart=always redis:5.0.12 redis-server --appendonly yes
rdb持久化:
bash#连接redis
redis-cli
#然后进行保存
相关信息
注意:只要开启了持久化,持久化生成的文件生成在容器中的/data/目录中