• 一些笔记


     
    安装
    yum install -y docker-io
     
    卸载
    1
    $ yum list installed | grep docker
    docker-engine.x86_64 1.7.1-1.el7 @/docker-engine-1.7.1-1.el7.x86_64.rpm
    2
    yum -y remove docker-engine.x86_64
     

    查看docker程序是否正常工作
    docker info
     
    启动关闭docker
    /etc/init.d/docker start|stop
     
    帮助
    man docker
    man docker-run
    docker help run
     

    容器
    docker run命令
    创建容器
    docker run -i -t centos /bin/bash
     
    当前系统中容器的列表
    docker ps -a
     
    给容器命名
    docker run --name bob_the_container -i -t ubuntu
     
    启动已经停止运行的容器
    docker start bob_the_container
     
    创建一个容器, 但是并不运行它。
    docker create
     
    如果退出容器的shell, 容器会再次停止运行。
    docker attach bob_the_container
     
    创建长期运行的容器
    docker run --name daemon_dave -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
    docker run命令使用了-d参数, 因此Docker会将容器放
    到后台运行。
     
    删除容器
    docker rm 容器
    删除所有容器
    sudo docker rm `sudo docker ps -a -q
     
    docker run -i -t -d centos /bin/bash 启动一个守护式容器,不进入shell,attach后退出容器就会停止
    docker run -i -t centos /bin/bash 启动一个交互式容器,进入shell,attach后退出容器就会停止
     
    获取守护式容器的日志
    docker logs 11397afe83a8
    docker logs -f 11397afe83a8
     
    查看守护式容器的进程
    docker top 11397afe83a8
     
    显示一个或多个容器的统计信息
    docker stats 11397afe83a8
     
    在容器中运行后台任务
    docker exec -d daemon_dave touch /etc/new_config_fil
    -d好像没用
     
    在容器内运行交互命令
    docker exec -t -i daemon_dave /bin/bash
     
    停止正在运行的Docker容器
    docker stop daemon_dave
    docker kill daemon_dave
     
    自动重启容器
    docker run --restart=always --name daemon_dave -d ubuntu /
    bin/sh -c "while true; do echo hello world; sleep 1; done
     
    docker run --name restart --restart=always -i -t -d centos /bin/bash
     
    --restart=always
    --restart=on-failure:5
     
    通过docker ps命令获取容器的信息, 还可以使用docker
    inspect来获得更多的容器信息,
    docker inspect daemon
     
    -v这个选项允许我们将宿主机的目录作为卷, 挂载到容器里。
    docker run -i -t -v $PWD:/home centos /bin/bash
    $PWD本机目录,/home 容器目录,进入容器发现容易/home目录与本机目录同步
     

    镜像
    列出Docker镜像
    docker images
     
    拉取Ubuntu镜像
    docker pull ubuntu:12.04
     
    拉取带标签的fedora镜像
    sudo docker pull fedora:21
    该命令只会拉取fedora:21镜像。
     
    运行一个带标签的Docker镜像
    docker run -t -i --name new_container ubuntu:12.04
    冒号和标签名来指定该仓库中的某一镜像
     
    查找镜像-docker search命令来查找所有Docker Hub上公共的可用镜像
    docker search puppet
     
    Docker镜像有以下两种方法。
    1.使用docker commit命令。
    (docker commit 7a22777d0cc8 lqy/comit_test:1.0)
    7a22777d0cc8 容器id,lqy/comit_test:名字(用户名/仓库命),1.0 TAG
    从新镜像启动容器
    docker run -t -i lqy/comit_test:1.0
     
    2.使用docker build命令和Dockerfile文件
     
     
    登录到Docker Hub
    docker login
    docker logout
     
     
     
    从新镜像启动容器
    docker run -d -p 80 --name static_web jamtur01/static_web nginx -g "daemon off;"
    使用docker run命令, 启动名为static_web的新容器。-d选项, 告诉
    在后台运行。 这种方式非常适合运行类似Nginx守护进程这样的需要长时间运行的进程。 我们也指定了需要在容器中运行的命令: nginx -g "daemon
    新的-p标志, 该标志用来控制Docker在运行时应
    该公开哪些网络端口给外部( 宿主机)
     
    查看Docker端口映射情况
    docker ps -l
     
    查看容器的端口映射情况
    docker port 6751b94bb5c0 80
     
    通过-p选项映射到特定端口
    docker run -d -p 80:80 --name static_web jamtur01/static_we
    nginx -g "daemon off;"
    将容器内的80端口绑定到本地宿主机的80端口上
     
    绑定不同的端口
    docker run -d- p 8080:80 --name static_web jamtur01/static_
    nginx -g "daemon off;"
    这条命令会将容器中的80端口绑定到宿主机的8080端口上。
     
    绑定到特定的网络接口
    docker run -d -p 127.0.0.1:80:80 --name static_web jamtur01
    nginx -g "daemon off;"
     
    绑定到特定的网络接口的随机端口
    docker run -d -p 127.0.0.1::80 --name static_web jamtur01/s
    nginx -g "daemon off;
     
    -P参数
    $ sudo docker run -d -P --name static_web jamtur01/static_web
    nginx -g "daemon off;
    该命令会将容器内的80端口对本地宿主机公开, 并且绑定到宿主机的一
    个随机端口上。
    如:
    代码清单5-34 启动Redis容器
    $ sudo docker run -d -p 6379 --name redis jamtur01/redis
    0a206261f079
    可以看到, 我们从jamtur01/redis镜像启动了一个新的容器, 名字
    是redis。 注意, 我们指定了-p标志来公开6379端口。 看看这个端口映
    射到宿主机的哪个端口, 如代码清单5-35所示。
    代码清单5-35 检查Redis端口
    $ sudo docker port redis 6379
    0.0.0.0:49161
    Redis的端口映射到了49161端口。
     
    推送Docker镜像(Docker Hub)
    docker push jamtur01/static_web
     
    推送Docker镜像(私库)
    使用新的Registry给该镜像打上标签。 为了指定新的Registry目的地址, 需要在镜像名前加上主机名和端口前缀使用新Registry为镜像打标签
    docker tag 414e329a078f localhost.localdomain:5000/tag1
    414e329a078f 是镜像id,localhost.localdomain主机名字,tag1随便
    docker push localhost.localdomain:5000/tag1
     
     
    删除Docker镜像
    docker rmi jamtur01/static_web
    删除所有镜像
    sudo docker rmi `docker images -a -q`
     
    v2版本的私库查看
    curl -X GET http://localhost.localdomain:5000/v2/_catalog
     
    从私库下载
    docker pull localhost.localdomain:5000/tag1
    秒下载
     

    网络
    docker network
    docker network create app创建
    docker network inspect查看
    docker network ls 命令列出当前系统中的所有网络
    docker network rm命令删除一个Docker网络
    docker network connect将正在运行的容器通过命令添加到已有的网络中
    docker network disconnect命令断开一个容器与指定网络的链接
     
     
     
     
     
     
     
  • 相关阅读:
    sign in和sign up区别
    sql语句左右表连接理解
    神器
    js不能执行的几个小白错误
    关于isset使用产生Can't use function return value in write context错误
    jQuery中怎么添加innerText、innerHtml(转)
    C#开发BHO程序(引)
    C# 开发BHO插件
    JS对日期时间的操作
    解决JQuery中datatables设置隐藏显示列多次提交后台刷新数据的问题
  • 原文地址:https://www.cnblogs.com/crazylqy/p/7263863.html
Copyright © 2020-2023  润新知