Docker学习笔记(一)

基础命令

  • 启动容器: docker run -dit ubuntu
  • 查看建立的容器: dokcer inspect
  • 自定义容器名:
dokcer run --name=自定义名 -i -t IMAGE /bin/bash
  • 重新启动停止的容器:docker start [-i] 容器名。 -i是以交互的方式启动停止的容器
  • 删除已经停止的容器:docker rm 容器名

守护式容器

* 能够长期运行
* 没有交互式会话
* 适合运行应用程序和服务
  • 以守护式运行容器:
docker run -i -t IMAGE /bin/bash
同时按ctrl+P和ctrl+q //退出后容器在后台运行
  • 附加到运行中的容器:docker attach 容器名
  • 启动守护式容器:
//-d 使用后台的方式来执行命令
docker run -d 镜像名 [COMMAND] [ARG...]
  • 查看容器日志:
docker logs [-f] [-t] [--tail] 容器名
    -f --follows=true|false 默认false
    -t timestamps=true|false 默认false
    --tail="all"
  • 查看容器内进程:
docker top 容器名
  • 在运行中的容器内启动新进程:
docker exec [-d] [-i] [-t] 容器名 [COMMAND] [ARG...]
  • 停止守护式容器:

    备注:重启容器后容器的ip和端口映射都会发生改变。

docker stop 容器名 //发送一个信号给容器,等待停止
docker kill 容器名 //直接停止容器

设置容器的映射端口

端口映射
run [-P] [-p]

//将为容器暴露的所有端口进行映射
-P,publish-all=true | false 默认为false
    docker run -P -i-t ubuntu /bin/bash
    
//指定映射端口
-p,--publish=[]

containerPort //只制定容器的端口(宿主机的端口是随机映射的)
    docker run -p 8080:80 -i -t ubuntu /bin/bash

hostPort:containnerPort //同时指定宿主机的端口和容器的端口(一一对应)
    docker run -p 8080:80 -i -t ubuntu /bin/bash
    
ip::containerPort //指定ip和容器的端口
    docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash
    
ip:hostPort:containerPort //ip、宿主机端口和容器端口都进行指定
    docker run -p 0.0.0.0:8080:80 -i -t ubuntu /bin/bash
查看端口映射
dokcer port 容器名
练习:在容器中部署静态网站
//创建映射80端口的交互式容器
docker run -p 80 --name=web -i -t b2ab0ed558bb /bin/bash    
//安装Nginx
yum install -y nginx

//安装文本编辑器vim
yum install vim

//验证网站访问
docker port web //查看端口

镜像

  • 列出镜像
 docker images [OPTSIONS][REPOSITORY]
        -a,--all=false  //默认不显示中间层的镜像
        -f,--filter=[]  //显示时的过滤条件
        --no-trunc=false  //不使用截断的形式来显示数据(默认会截断唯一id)
        -q,--quiet=false  //只显示镜像的唯一id
  • 镜像的仓库

REPOSITORY 仓库 镜像的集合

  • TAG 标签 默认使用latest标签

  • 查看镜像的详细信息(inspect也支持容器的查看)

docker inspect [OPTIONS]CONTAINER|IMAGE[CONTAINER|IMAGE...]
    -f,format=""
  • 删除镜像
docker rmi [OPTIONS]IMAGE[IMAGE...]
    -f,--force=false 强制删除镜像
    --no-prune=false 会保留被删镜像中被打标签的父镜像

获取和推送镜像

  • 查找镜像
    Docker Hub

      https://registry.hub.docker.com
    docker search [OPTIONS]TERM
        --automated=false
        --no-trunc=false 
        -s,--stars=0
  • 拉取镜像

    docker pull [OPTIONS] NAME[:TAG]
        -a,all-tags=false 下载全部标记的镜像
  • 推送镜像

    docker push NAME[:TAG]

构建镜像

保存对容器的修改,并再次使用
自定义镜像的能力
以软件的形式打包并分发服务及其运行环境

  • 通过容器构建

会暂停正在使用的容器

```
docker commit [OPTIONS] CONTAINER [REPOSITORY][:TAG]
    -a,--author=""  镜像的作者
    -m,-message="" 镜像构建的信息
    -p,--pause=true 可以不暂停正在使用的容器
``` 
  • 通过Dockerfile文件构建
    1. 创建Dockerfile文件

    2. 运行docker build命令

    docker build [OPTIONS] PATH | URL | -
        --force-rm=false
        --no-cache=false
        -pull==false
        -q,--quiet=false
        --rm=true
        -t,--tag=""
    ### dockerC/S模式
    006tNc79ly1g1tbggmcy8j317s0nsnbb.jpg
    006tNc79ly1g1tbg4n0arj317e0e01ft.jpg
Remote API
连接方式(客户端与服务端的守护进程)

006tNc79ly1g1tbf671nlj316o0c2qet.jpg

  • unix://var/run/docker.sock
  • tcp://host:port
  • fd://socketfd

Docker守护进程的配置和操作

  • 查看守护进程

    ps -ef |grep docker
    sudo status docker
  • 使用service命令管理

    启动
    sudo service docker start
    
    停止
    sudo service docker stop
    
    重启
    sudo service docker restart

转载于:https://www.cnblogs.com/zuoruining/p/10810750.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值