Docker 部署命令

启动一个操作系统

docker run --name ubuntuAliasName -p 3002:3001 -it -v /home/dev-02/webapps/ubuntu2:/test/ubuntu ubuntu /bin/bash

以interactive的方式启动一个Ubuntu系统,别名为ubuntuAliasName,镜像名称为 ubuntu,挂载一个目录到Ubuntu的/test/ubuntu下,本机的端口3002映射到容器的3001上,访问时访问3002就能访问到容器的3001对应内容。

 -p == --port  一个-的表示缩写, 两个-的表示全拼, (-? 参数)之间有一个空格

docker run --name ubuntuAliasName -p 3001:3001  -v /home/dev-02/webapps/ubuntu2:/test/ubuntu -d ubuntu

以后台进程的方式启动,当时不进入终端,用下面的命令进入交互模式

docker exec -it ContainerName /bin/bash

以交互模式进入容器

exit

退出容器

docker logs -f containerName

以滚动的方式查看容器的输出日志,如果是以后台进程的方式启动的,就需要用这种方式查看日志输出

 

docker logs -f -t --since "2019-03-28" --tail =100 containerId

如果容器已经运行了很久,要从指定天开始查看日志,需要指定 since 参数。

 

sudo docker logs containerId > ./myLog.txt

日志分析,需要查看容器启动后所有内容,使用 docker logs xxx, 会飞快滚动并至当前日志行,如果需要保存所有日志信息需要将容器日志的输出重定向到一个指定位置即可。

 

根据容器创建新镜像

docker commit  [containerID]  newIMGName:tag

 

tar包导入到镜像

docker load < ./xxx.tar

 

把镜像导出成tar

docker save img -o ./xxx.tar

docker save img > ./xxx.tar

容器内时间和宿主机不一致,导致部分日志输出日期不对,docker run时加上

-e TZ=Asia/Shanghai

以交互模式进入容器,执行date命令

Tue Mar 13 09:41:21 CST 2019

返回CST(China Standard Time),即可。

 

docker-compose 部署部分:

和docker-compose.yml在同一目录下

启动:
docker-compose up -d #默认找当前目录下的docker-compose.yml, docker-compose.yaml

docker-compose -f /path/file.yml up -d

查看:



暂停:
docker-compose -f ./path/file.yml stop

停止:
docker-compose -f ./path/file.yml down


重启:

docker-compose 启动脚本报错,ERROR: Failed to program FILTER chain: iptables failed: iptables --wait -I FORWARD -o br-5b57984ae0b

重建docker0网络恢复:

pkill docker 

iptables -t nat -F 

ifconfig docker0 down 

brctl delbr docker0 

docker -d 

systmctl restart docker

 

docker stack deploy 部署调试部分:

sudo docker service ls #查看已经有哪些服务

sudo docker service rm id #删除服务

sudo docker stack deploy --compose-file xx.yml service
或
sudo docker stack deploy -c xx.yml name   #启动一个name_xx的服务

sudo docker ps -a #查看对应的服务容器状态

sudo docker logs -f containerId #跟踪容器日志

sudo docker exec -it containerId /bin/bash #进入容器

apt update #更新依赖库

apt install vim #安装文本编辑工具

vim file #编辑指定文件,保存退出

exit #退出交互模式

sudo docker commit containerId newImageName:version #新的镜像名称和老的一样可以覆盖掉老的,建议先备份

 

你可能感兴趣的:(docker)