Docker基本命令

基本命令

  1. run 构建容器命令

    docker run [OPTIONS] IMAGE [COMMAND] [ARG...]
    OPTIONS说明:

    • -a stdin:指定输入输出内容类型,可选STDIN/STDOUT/STDERR
    • -d:后台运行容器,并返回容器id
    • -i:以交互模式运行容器,通常与-t搭配
    • -p:指定端口映射,格式为:宿主机端口:容器端口
    • -P:端口随机映射
    • -t:为容器分配一个伪输入终端,通常与-i同时使用
    • --name="nginx-lib":为容器指定一个名称
    • dns 9.9.9.9:为容器指定一个名称,默认和宿主机一致
    • dns--search example.com:指定容器DNS搜索域名,默认和宿主机一致
    • -h "hostname":指定容器的hostname
    • -e username="hemei":设置环境变量
    • --env-file=[]:从指定文件文件读入环境变量
    • --cpuset="0-2" 或者 --cpuset="0,1,2":绑定容器到指定cpu运行
    • -m:设置容器使用内存最大值
    • --net="bridge":指定容器的网络连接类型,支持bridge/host/none/container四种类型
    • --link=[]:添加链接到另一个容器
    • --expose=[]:开放一个端口或一组端口
    • --volume-v绑定一个卷
    • --restart=always:开机自启,或者=no:stop后不重启
  2. start 运行容器

  3. update 更新容器

    • --restart=always:开机自启
    • --restart=no:不重新启动
  4. stop 停止容器

Dockerfile

  1. Dockerfile书写

    • 第一行必须是from
  2. 本地Dockerfile构建镜像
    docker build [选项] <上下文路径/URL/->
    docker build -t nginx:v3 .

    • 最后的这个.是指上下文目录,docker在对镜像打包的时候会把该上下文目录的文件打包交给Docker引擎以帮助打包镜像
    • docker build是在服务端构建镜像
    • .dockerignore文件是用来剔除不需要上传到服务端文件的
    • 可以用-f ../Dockerfile.php指定某个文件作为Dockerfile
  3. Git repo 进行构建

    • url
    # $env:DOCKER_BUILDKIT=0
    # export DOCKER_BUILDKIT=0
    
    $ docker build -t hello-world https://github.com/docker-library/hello-world.git#master:amd64/hello-world
    
    Step 1/3 : FROM scratch
    --->
    Step 2/3 : COPY hello /
    ---> ac779757d46e
    Step 3/3 : CMD ["/hello"]
    ---> Running in d2a513a760ed
    Removing intermediate container d2a513a760ed
    ---> 038ad4142d2b
    Successfully built 038ad4142d2b
    
  4. 用给定的tar压缩包构建

    docker build http://server/context.tar.gz`
    

你可能感兴趣的:(Docker基本命令)