docker(1)

基础

基本指令

  • 基本指令
    • docker search 搜索源同git
    • docker pull 下载源
    • docker images 查看当前docker已下载镜像
    • docker run 执行docker容器
    • docker stop {id} 停止容器后台执行
    • docker rm {id} 删除容器
    • docker --help docker帮助命令
  • 常用
    • docker ps -a 查看所有docker运行记录
    • docker ps -l 查看最后运行容器
    • docker run --name ** -it {$} {comment} 保存别名并执行某个镜像的某些操作tty
    • docker run -d 后台执行上述
    • docker attach {id} / docker exec 进入后台执行容器
    • docker inspect --format "{{.State.Pid}}" alias 获取别名容器的pid
    • nsenter --target pid --mount --uts --ipc --net --pid 使用linux-util的nsenter进入并挂载其他属性
    • h ** 指定主机名
# 脚本进入容器
  CNAME = $1
  CPID = $( docker inspect --format "{{.State.Pid}}" $CNAME)
  nscenter --target "$CPID" --mount --uts --ipc --net --pid

网络访问

  • 映射
    • docker run -d -P --name nginx 随机映射 进入nginx ifconfig 查看IP和80端口访问为默认,随机映射后ps -l查看随机端口可访问nginx内网络
    • docker run -d -p 91:80 ** nginx 指定91端口映射

数据

  • 数据卷映射
    • docker run -it --name ** -v /data nginx 默认路径
    • docker run -it --name ** -v /opt:/opt centos 指定路径
  • 数据卷容器
    • docker run -it --name new** --volumes-from old** 卷之间访问

本地部署

  • 定制
    • docker commit -m "**" {{docker id}} username /objectname:v1
  • 启动
    • docker run -d -p 99:80 username/objectname:v1 /user/local/...指定启动项

Dockerfile

  1. 基础镜像信息
  2. 维护者信息
  3. 镜像操作命令
  4. 容器启动时执行指令
# This is My first Dockerfile
# Version 1.0
# Author: hateko
# Dockerfile目录 /opt/docker-file/nginx/Dockerfile 该地址同样为本地源目录

# Base images  基础镜像
From centos

# MAINTAINE   维护者信息
MAINTAINER hateko

# ADD   copy文件  这里下载好自动解压到指定路径
ADD pcre-8.37.tar.gz /usr/local/src
ADD nginx-1.9.3.tar.gz /usr/local/src

# VOLUME    目录挂载

# RUN     执行进程coding
RUN yum install -y wget gcc gcc-c++ make openssl-devel
RUN useradd -s /sbin/nologin -M www

# WORKDIR   当前容器工作目录
WORKDIR /user/local/src/nginx-1.9.3

# RUN     继续配置coding
RUN ./configure --preifix=/usr/local/nginx --user=www --group=www --with-http_ssl_module --with-http_stub_status_module --with=pcre=/usr/local/src/pcre-8.37 && make && make install

RUN echo "daemon off;" >> /usr/local/nginx/conf/nginx.conf

# EXPOSE    暴露端口
ENV_PATH /usr/local/nginxsbin:$PATH
EXPOSE 80

# RUN
CMD ["nginx"]

# 执行 docker build -t nginx-file:v1  /opt/docker-file/nginx

你可能感兴趣的:(docker(1))