容器化Docker指令及启动异常处理

一:指令

1.获取镜像 :可以使用 docker pull 命令来从仓库获取所需要的镜

2.列出本地镜像:使用 docker images 显示本地已有的镜像。加-a全部

3.利用 Dockerfile 来创建镜像,Dockerfile 基本的语法是

使用 # 来注释

FROM 指令告诉 Docker 使用哪个镜像作为基础

接着是维护者的信息

RUN 开头的指令会在创建中运行,比如安装一个软件包,编写完成 Dockerfile 后可以使用 docker build 来生成镜像。

ADD 命令复制本地文件到镜像;用 EXPOSE 命令来向外部开放端口;

用 CMD 命令来描述容器启动后运行的程序等

4.启动一个容器 :docker run -t -i ouruser/sinatra:v2 /bin/bash

5.镜像的标签: docker tag 5db5f8471261 ouruser/sinatra:devel

6.上传镜像 :docker push 命令

7.移除本地的镜像:docker rmi 在删除镜像之前要先用 docker rm 删掉依赖于这个镜像的所有容器

8.移除容器 :docker rm  【全删docker rm $(docker ps -a -q)】,移除镜像docker rmi 【docker rmi $(docker images -a -q)】

9:启动已终止容器 :docker start 命令,直接将一个已经终止的容器启动运行

10:终止一个运行中的容器:docker stop

11:Dockerfile 中使用 VOLUME 来添加一个或者多个新的卷到由该镜像创建的任意容器

12:查看当前映射的端口配置 :docker port

13:映射到指定地址的指定端口:可以使用 ip:hostPort:containerPort 格式指定映射使用一个特定地址$ sudo docker run -d -p 127.0.0.1:5000:5000 training/webapp python app.py

二:启动异常情况

1.docker启动报错docker_server_1 Attaching to docker_server_1: No such file or directoryash  原因.sh文件换行风格可能变成windows了,将文档格式转换成UNIX即可(我把idea也改了下idea--> settings-->code style–>line separator—>unix and osx(\n) )

2.启动docker 消息队列报错MNSQueue [MNSQueue.java:134] - mns queue loop exception: com.aliyun.mns.common.ServiceException: The http request you sent is expired. 时钟不一致问题 打开Hyper-V管理器 找到MobyLinuxVm下的设置选项 在管理 集成服务 勾选时间同步选项即可

3.启动docker报访问被拒绝denied:access forbidden 在settings of Docker for Windows的Share Drives设置共享的local drivers。Share Drive需要你的域账号。

三:容器运行准备:

1.准备在项目parent层pom.xml 设置<docker.repository>gitlib项目名如r_d_mm/user-base</docker.repository>docker仓库 、server层pom.xml添加docker plugin依赖、copy docker文件夹到项目相应位置 

2.修改build.sh文件 mvn docker:build -pl 项目server层包名;当执行docker:build命令时会去查找Dockerfile文件并执行Dockerfile 将文件copy到target\docker下 然后创建images镜像

3.修改dockerfile export监听端口

4.修改setenv.sh文件配置 Prepare the environment variables for docker hub and image names 

5.修改app.yml文件配置server image镜像名 port端口号 environment数据库环境

四:容器运行步骤

1.cd到项目docker目录下在bash(git bash环境下)运行build.sh构建项目并创建docker镜像。

2.source setenv.sh

3.dc -f app.yml up

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值