#从镜像仓库下载镜像
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打开。否则会报错)
#!/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
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)