zoukankan      html  css  js  c++  java
  • docker 常用命令

    docker 常用命令
    运行一个系统容器
    [root@localhost ~]# docker run -i -t ubuntu /bin/bash 或者 docker run -i -t centos /bin/bash

    docker run --name centos2 -d -i -t centos /bin/bash
    -t:在新容器内指定一个伪终端或终端。

    -i:允许你对容器内的标准输入 (STDIN) 进行交互。

    -d 后台运行

    我们可以通过运行exit命令或者使用CTRL+D来退出容器 (实际已经关闭了容器)
    重新启动容器命令
    [root@localhost ~]# docker start 79131c881994
    进入容器的命令
    [root@localhost ~]# docker attach 79131c881994
    查看容器是否开始状态的命令
    docker ps -la
    获取容器里面的详细状态,Ip,文件路径之类的。
    [root@localhost ~]# docker inspect 79131c881994

    网卡启动
    #!/bin/bash
    docker_pid=$(docker inspect --format "{{.State.Pid}}" $1)
    nsenter -t $docker_pid -u -i -n -p


    启动系统网卡
    systemctl restart network
    systemctl restart docker
    docker start ID
    在登录到里面
    docker_pid=$(docker inspect --format "{{.State.Pid}}" $1)
    nsenter -t $docker_pid -u -i -n -p

    4.docker 网络与共享存储
    挂载目录
    docker run -it -v /opt:/opt centos3

    [root@localhost ~]# docker run -d --name nfs -v /data centos
    173985c71820a84cee36339a0b537564786f45a6ccda421affcf51a2b65ae64f
    启动一个nfs 容器, 指定 data 的目录存储
    [root@localhost ~]# docker run -it --name test1 --volumes-from nfs centos
    启动test1 的容器, 指定使用nfs 的目录存储

    [root@localhost _data]# docker inspect 173985c71820
    查看nfs 容器的存储位置

    [root@localhost opt]# cd /var/lib/docker/volumes/0f905260eef82b60a6bc454fc169ec44be3327f0e2c10c07fe7a0ade5720931d/_data
    到存储下面
    [root@localhost _data]# touch hehe
    创建hehe的文件
    [root@7e48720e446f /]# ls /data
    返回到 test1 下面查看 共享目录是不是有呵呵文件。
    [root@7e48720e446f data]# ls
    hehe

    手动构建容器
    克隆镜像
    [root@localhost ~]# docker commit -m "my nginx" 9eff4c42bb04 oldboyedu/nginx:v1
    sha256:9ddf01c0751d628f4ca36022252424b9eb669e0cee7bf8f1f112604074a4a488
    [root@localhost ~]# docker images
    REPOSITORY TAG IMAGE ID CREATED SIZE
    oldboyedu/nginx v1 9ddf01c0751d 7 seconds ago 109 MB
    <none> <none> 6af84cf48d2e 12 days ago 451 MB
    <none> <none> 99961d10496d 12 days ago 127 MB
    <none> <none> 3d90cb4e59e4 13 days ago 191 MB

    在用刚才的克隆的镜像去启动一个容器
    docker run -d --name nginxv1 oldboyedu/nginx:v1
    ####################

    修改nginx.conf 配置文件

    docker commit -m "my nginx" 51910d0348ea oldboyedu/nginx:v2

    克隆一个nginx:v1的镜像

    docker run -d -p 82:80 --name nginxv2 oldboyedu/nginx:v2
    启动一个nginx 镜像。

    编写Dockerfile 文件
    [root@localhost nginx]# cat Dockerfile
    # This docker file
    # version 1
    # Author: lixiang zou

    FROM centos

    #Maintainer


    #Commands
    RUN rpm -ivh https://mirrors.aliyun.com/epel/epel-release-latest-7.noarch.rpm
    RUN yum install -y nginx


    #ADD index.html /usr/share/nginx/html/index.html
    RUN echo "daemon off;" >> /etc/nginx/nginx.conf
    EXPOSE 80
    CMD

    启动这个构建的镜像

    启动一个容器
    [root@localhost nginx]# docker run -d -p 83:80 --name nginxv3 oldoyedu/nginx:v3 nginx

    创建私有仓库
    docker run -d -p 5000:5000 registry
    docker tag oldoyedu/nginx:v3 192.168.10.49:5000/oldoyedu/nginx:latest 打标签
    docker push 192.168.10.49:5000/oldoyedu/nginx:latest 上传到私有库里面
    docker push 192.168.10.49:5000/oldoyedu/nginx 下载私有库里面的 nginx

    docker 资源隔离


    dockerUI 管理工具
    运行并下载ui镜像
    docker run -it -d --name docker-web -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock docker.io/uifd/ui-for-docker
    docker ps -a

    访问
    http://192.168.10.49:9000



    docker下部署nginx
    运行容器
    docker run -p 80:80 --name mynginx -v $PWD/www:/www -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf -v $PWD/logs:/wwwlogs -d nginx
    启动nginx
    docker run -d -P nginx
    指定映射端口和名字
    docker run -d -p 443:443 -p 82:80 --name nginxv2 nginx

    部署php
    下载docker hub 下载php
    docker pull php:5.6-fpm
    运行容器
    docker run -p 9000:9000 --name myphp-fpm -v ~/nginx/www:/www -v $PWD/conf:/usr/local/etc/php -v $PWD/logs:/phplogs -d php:5.6-fpm
    启动nginx
    docker run -p 9000:9000 --name myphp-fpm -v

    部署 mysql

    docker pull mysql:5.6

    运行容器
    docker run -p 3306:3306 --name mysql -v $PWD/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
    docker run -p 3306:3306 --name mymysql -v mysql:5.6
    docker run --name mysql-slave3 -d -P hub.c.163.com/nce2/mysql:5.
    启动mysql
    docker run -d -p 3307:3307 --name mysqlv1 -v $PWD/conf/my.cnf:/etc/mysql/my.cnf -v $PWD/logs:/logs -v $PWD/data:/mysql_data -e MYSQL_ROOT_PASSWORD=123456 -d mysql:5.6
    mysql -h192.168.10.49 -p3306 -uroot -p

    docker run -it --link some-mysql:mysql --rm mysql sh -c 'exec mysql -h"$MYSQL_PORT_3306_TCP_ADDR" -P"$MYSQL_PORT_3306_TCP_PORT" -uroot -p"$MYSQL_ENV_MYSQL_ROOT_PASSWORD"'
    docker run -it --link some-mysql:mymysql --rm c55addbd5a6e sh -c 'exec mysql -h"192.168.10.49" -P"3306" -uroot -p"123456"'
    docker run -it --link some-mysql:mysqlv1 --rm c55addbd5a6e sh -c 'exec mysql -h"192.168.10.49" -P"3307" -uroot -p"123456"'

  • 相关阅读:
    利用UncaughtExceptionHandler捕获未try...catch到的异常
    nodejs
    angularjs异步处理 $q.defer()
    springboot集成swagger
    面试相关
    springboot注解
    关于自动拆装箱
    sonar集成搭建
    Predicate 类
    idea快捷键
  • 原文地址:https://www.cnblogs.com/zoulixiang/p/9230387.html
Copyright © 2011-2022 走看看