Docker常用命令超级

#从镜像仓库下载镜像

docker pull 镜像名:版本TAG(不指定版本,默认最新版本 :latest)

例:docker pull nginx

#==================================================

#查看镜像列表

docker images

#==================================================

#运行镜像

docker run -d(后台运行) -p 外部端口:内部端口 镜像名称

#可选参数

--name 容器名称

--restart=always 开机启动

-v 映射文件

#例

docker run -d -p 80:80 --name="mynginx" -v /logs/mypoject/runtime:/portal/runtime  --restart=always mypoject:last test

#==================================================

#查看正在运行的容器

docker ps

#查看所有容器

docker ps -a

#查看容器日志

docker log 容器id

#==================================================

#进入容器

#docker exec -it 容器ID(能标识唯一即可) bash

docker exec -it 307444rttytty bash

#==================================================

#删除容器

#docker rm -f 容器ID(能标识唯一即可)

#例

docker rm -f 307444rttytty

#==================================================

#导出镜像到文件

#docker save 镜像名称 >导出的文件名称.tar

#docker save -o 导出的文件名称(必须是小写).tar 镜像名称(推荐)

#例

docker save imagename >imagefile.tar

docker save -o imagefile2.tar imagename

#==================================================

#删除镜像

#docker rmi 镜像ID

#例

docker rmi imageid

#==================================================

#导入镜像

#docker load < imagefile.tar(这条语句Windows环境下报错)

docker load -i imagefile2.tar

#==================================================

【Dockerfile的使用】

#Dockerfile文件内容

#==================================================

FROM niginx
RUN mkdir -p /poject/mypoject
COPY ./ /poject/mypoject/
RUN cd COPY ./ /poject/mypoject;\
chmod -R 777 /poject
WORKDIR /poject/mypoject/
ENV TZ "Asia/Shanghai"
ENV LANG "zh_CN.UTF-8"
# 创建卷
#VOLUME []
#EXPOSE 9002
# 初始化 容器启动时 启动的进程
#CMD ["/poject/mypoject/run.sh"]
ENTRYPOINT ["/poject/mypoject/run.sh"]
USER root

#==================================================

创建run.sh文件(此文件格式必须是:set fileformat=unix,就是文件要在Linux创建,尽量不要windos打开。否则会报错)

#run.sh文件内容

#==================================================

#!/bin/bash
CONFIG_DIR="/poject/mypoject/conf/"
rm "${CONFIG_DIR}app.conf"
if [ $1 == "test" ]
   then
   echo "do start test"
   cp "${CONFIG_DIR}app_test.conf" "${CONFIG_DIR}app.conf"
   elif [ $1 == "prod" ]
   then
   echo "do start prod"
   cp "${CONFIG_DIR}app_prod.conf" "${CONFIG_DIR}app.conf"
    elif [ $1 == "prodtc" ]
   then
   echo "do start prod tc"
   cp "${CONFIG_DIR}app_prodtc.conf" "${CONFIG_DIR}app.conf"
   else
   echo "it's running dev"
   cp "${CONFIG_DIR}app_dev.conf" "${CONFIG_DIR}app.conf"
fi
nohup ./mypoject 1>/dev/null 2>>errlog

#==================================================

1-19行 为根据不同的命令加载不同环境的配置

20行 为各语言的启动命令(这里用的是golang)

#根据Dockerfile打包

#docker build -t 镜像名称(必须是小写) Dockerfile所在目录

#例 (.)是当前目录,记得点号不要漏了

docker build -t mypoject:v2020 .

#使用各个docker仓库

登录

docker login -u 用户名 -p 密码 网址

创建镜像

docker build -t mypoject:v2020 .

打个tag

docker tag 之前建的镜像id docker仓库地址/mypoject:v2020 

然后就可以push上docker仓库了

docker push docker仓库地址/mypoject:v2020 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值