docker dockerfile及docker compose使用

docker使用

dockerfile构建镜像

创建Dockerfile文件 以下为简单用法

//只是单纯的复制可以用COPY或者ADD都可 ADD可解压文件
ADD 文件名 路径
RUN 是在build的时候执行的
CMD 只会运行最后一条命令 若启动容器的时候 加上命令则不生效
ENTRYPOINT 命令不会被覆盖
VOLUME 挂载数据卷不会因为重启而丢失 格式:VOLUME ["/var/log"]
ENV key=value 环境变量

通过dockerfile构建镜像

docker build -t 镜像名 . //在Dockerfile文件所在目录下运行

操作镜像及容器

启动镜像

docker run -itd --name 别名(不写即为随机生成) -p 宿主机端口:容器端口 镜像名称:镜像版本`

进入启动的容器

docker exec -it 容器id /bin/bash 或者docker attach 容器id
退出ctrl Q P

查看全部镜像

docker images 

查看启动的镜像

docker ps -a 为查看全部镜像

删除容器

docker rm -f 容器id

删除镜像

docker rmi 镜像名

查看镜像具体的属性

docker inspect -f="{{.开头的属性名称}}" 容器id或镜像名

提交容器到仓库

docker commit -m "提交信息" -a "作者名称" 容器id 容器:tag
docker tag 容器:tag 用户名/仓库名:仓库tag
docker push 用户名/仓库名:仓库tag

拉取镜像

docker pull 镜像名

打包镜像

docker save -o test.tar test:latest

加载镜像

docker load -i test.tar

镜像版本号不正确 修改

docker tag imageId test:latest

删除所有未运行的容器

docker container prune

实时查看容器日志

docker logs -f -n 行数 容器名

nodejs Dockerfile

FROM centos
ADD node-v14.17.3-linux-x64.tar.gz /
RUN mkdir -p /data/node/ && mv node-v14.17.3-linux-x64/* /data/node/ && ln -s /data/node/bin/node /usr/bin/ && ln -s /data/node/bin/npm /usr/bin/
RUN rm -rf node-v14.17.3-linux-x64/
RUN npm config set registry https://registry.npm.taobao.org && npm i pm2 -g && ln -s /data/node/bin/pm2 /usr/bin

redis mysql nginx tdengine 创建容器及运行

docker run --restart=always --name redis -p 6379:6379  -v /data/redis/redis.conf:/etc/redis/redis.conf -v /data/redis/data/:/etc/redis/data/ -d redis redis-server /etc/redis/redis.conf --requirepass root redis:latest
docker run --restart=always -d --name mysql -p 3307:3306  -v /data/mysql8/conf:/etc/mysql/conf -v /data/mysql8/data:/etc/mysql/data -e MYSQL_ROOT_PASSWORD=root mysql:latest 
docker run --restart=always --name nginx -p 80:80  -v /data/nginx/nginx.conf:/etc/nginx/nginx.conf -v /data/nginx/log/:/var/log/nginx -v /data/nginx/data/html:/usr/share/nginx/html -d nginx:latest
docker run -d --restart=always --name tdengine -v /data/taos/log:/var/log/taos -v /data/taos/data:/var/lib/taos -v /data/taos/taos.cfg:/etc/taos/taos.cfg -v /data/taos/libtaos.so:/usr/lib/libtaos.so -p 6030-6049:6030-6049 -p 6030-6049:6030-6049/udp tdengine/tdengine

docker compose plugin使用
docker compose是安装docker会额外装的插件 docker-compose是自己单独装的 执行创建停止命令需在yaml所在目录

//根据yaml配置生成容器 -f 可指定yaml文件
docker compose -f docker-compose.yaml up -d
//停止并删除当前yaml文件生成的容器
docker compose down
//查看docker的网络 可在yaml中创建 也可自己创建 yaml创建会随着down掉而删除 自己创建需手动删除 yaml生成时需先注意网段不可与当前network中冲突,不然会报错
docker network ls
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值