本节会持续更新,在项目实战中遇到的docker配置都会更新进来


docker常用命令:

docker 介绍:
what: 是什么
why: 为什么用
how: 怎么用 docker 特点: 轻量级,可移植,占用资源少 # 下载镜像
docker pull mysql:5.6
# 启动镜像
docker run -p : --name mymysql -v /home/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD= -d mysql:5.6 docker 基础命令:
镜像
docker version | docker -v
docker pull 镜像名称
docker images | docker image ls
docker search xxxx
docker rmi xxxx -f 强制删除 容器:()
docker run -d(后台运行) -p : -p (可以指定多个ip) 镜像
docker logs -f xxx_id 查询日志 继续监听
docker container logs xxx 查询日志 查询出所有日志
docker ps 查询正在运行的容器
docker ps -a 查询所有容器(包括停止的容器)
docker exec -it xxx /bin/bash 进入容器
docekr stop xxx 停止启动的容器:
docker start xxx 启动刚刚停止的容器
docker rm xxx 删除容器(非运行) -f 强制删除
docker kill xxx 强制停止容器
docker -e 设置参数(-e MYSQL_ROOT_PASSWORD=)
镜像构建:(一般使用DockerFile进行构建)
docker build -t 构建镜像名 . (.代表DockerFile的所在路径)
DcokerFile:
FROM 基础镜像:
RUN
hu@

docker的远程访问设置:

  1>  修改 /usr/lib/systemd/system/docker.service

    

    注意: 如果是centos7:就是如上配置:centos6  :  ExecStart=/usr/bin/dockerd -H fd:// -H tcp://0.0.0.0:2375

  2>  保存配置文件,重新加载

    systemctl daemon-reload

  3> 重启服务 systemctl  docker  start | restart  | stop

docker pull指令失败问题:

  1>因为镜像源需要翻墙,导致无法从中心库下拉镜像。我们可以通过修改成国内镜像仓库来进行下拉镜像  修改 /etc/docker/daemon.json

    

    注意:常用的国内镜像源还有:

    https://docker.mirrors.ustc.edu.cn

        https://hub-mirror.c.163.com

docker 启动相差8小时问题: 

  1>  启动是设置时区

docker run -itd    -v /mnt/upload:/mnt -v /etc/localtime:/etc/localtime:ro -v /data/appLogs:/var/log -e JAVA_OPTS=-Duser.timezone=Asia/Shanghai   -p : -p :  docker_image_id   /bin/bash 

  2> 在Dockerfile 文件中设置: 

From java:
MAINTAINER huhy
RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo 'Asia/Shanghai' >/etc/timezone
VOLUME /tmp
ADD tranQueue.jar newfiber_project_queue.jar
ENTRYPOINT ["java","-jar","newfiber_project_queue.jar"]

docker容器动态添加端口映射:

  第一种修改方法: iptables 命令进行修改

1: 查询容器的ip:
docker inspect <container name or id>| grep IPAddress
2: 查看Container的映射的端口
docker port <container name or id>
3: 用iptables查看容器映射情况
iptables -t nat -nvL
iptables -t nat -nvL --line-number
4: 查询现有docker 容器映射列表
iptables -t nat --list-rules DOCKER
5: 添加端口映射
a, 获取容器ip
docker inspect $container_name | grep IPAddress
b. 添加转发规则
iptables -t nat -A DOCKER -p tcp --dport $host_port -j DNAT --to-destination $docker_ip:$docker_port
将容器的8000端口映射到docker主机的8001端口
iptables -t nat -A DOCKER -p tcp –dport 8001 -j DNAT –to-destination 172.17.0.19:8000
6: 删除端口映射规则
a. 获取规则编号
iptables -t nat -nL --line-number
b. 根据编号删除规则
iptables -t nat -D DOCKER $num
7: 保存iptables规则
iptables-save
注意:端口映射完毕后,端口映射也不会显示出来,不能通过docker port [container_name|container_id]查询到结果

   第二种修改方法: 修改配置文件进行修改 

1> 找到对应容器:
2> 停止容器, 停止服务 (systemctl stop docker/service docker stop)
3> 修改 /var/lib/docker/containers/{容器 ID+ 一些字符串}/hostconfig.json 中
同时修改同目录下的 config.v2.json 中 "ExposedPorts":{"容器端口 /tcp":{}}
4> 在容器运行时添加映射
5> 重启服务, 启动容器 (systemctl start docker/service docker start)

最新文章

  1. Oracle创建表空间
  2. Win10 Hyper-V 配置
  3. Linux Mint安装jdk8
  4. Swift语法简介(二)闭包
  5. C# 读取Excel
  6. C# 设计基础(一)
  7. AIX LVM 常用命令记录
  8. VHD_Update_diskpart
  9. SQL Server 主动防止阻塞的 1 方法
  10. angularjs三级联动
  11. hessian原理解析一(客户端分析)
  12. 第三节: Quartz.Net五大构件之Scheduler(创建、封装、基本方法等)和Job(创建、关联等)
  13. 引擎设计跟踪: 为什么Blade可以用Clang编译
  14. 用EventEmitter收发消息
  15. float浮动的世界
  16. face detection[Face R-CNN]
  17. lanmp环境一键安装
  18. centos下配置nginx支持php
  19. Domain应用之 根据某个Many2one的对象的 X2many对象 过滤
  20. unity-------------------Unity5.X 新版AssetBundle使用方案及策略

热门文章

  1. Xamarin.FormsShell基础教程(7)Shell项目关于页面的介绍
  2. jetty源码下载
  3. sublime px转rem的方法【亲测有效】
  4. Q-Dir – 布局灵活的文件管理,强烈推荐
  5. 配置ogg从Oracle到PostgreSQL的同步复制json数据
  6. django学习问题集
  7. RestHighLevelClient查询es
  8. WeQuant教程—1.2 从简单的量化系统开始
  9. OpenLDAP + phpLDAPadmin
  10. HTML系列:js和css多种方式实现隔行变色