zoukankan      html  css  js  c++  java
  • docker

    Docker
    docker search; docker pull; docker build -t name dockerfilepath;
    docker images; docker rmi ; docker run --name 容器名 -d -p 内部端口:外部端口 imagename 版本
    docker run -i -t --name sonar -d link mysql:db sonar -server 容器间进行连接
    docker ps -a; docker start ; docker kill;
    docker run -p 8000:3000 -it containername /bin/bash
    docker exec -it [containerID] /bin/bash

    docker save 镜像名 -o 路径/文件.tar

    加载镜像 docker load -i 文件.tar  

    使用Docker发布容器
    关闭防火墙

    docker-compose 管理服务
    docker-compose up 根据docker-compose.yml创建容器并启动相应服务
    docker-compose start
    docker-compose scale data=2(启用负载均衡)
    Spring Cloud 的Ribbon的ribbon.eureka.enabled=true

    dockerFile的编写

    ## Dockerfile文件格式

    # This dockerfile uses the ubuntu image
    # VERSION 2 - EDITION 1
    # Author: docker_user
    # Command format: Instruction [arguments / command] ..

    # 1、第一行必须指定 基础镜像信息
    FROM ubuntu

    # 2、维护者信息
    MAINTAINER docker_user docker_user@email.com

    # 3、镜像操作指令
    RUN echo "deb http://archive.ubuntu.com/ubuntu/ raring main universe" >> /etc/apt/sources.list
    RUN apt-get update && apt-get install -y nginx
    RUN echo " daemon off;" >> /etc/nginx/nginx.conf

    # 4、容器启动执行指令
    CMD /usr/sbin/nginx

    例子:
    Dockerfile文件:
    FROM nginx
    RUN echo '<h1>Hello, Docker!</h1>' > /usr/share/nginx/html/index.html
    vi Dockerfile
    创建镜象:
    docker build -t nginx:v1 
    创建容器
    docker run --name docker_nginx_v1 -d -p 80:80 nginx:v1

     redis客户端

    docker run -dit --restart unless-stopped redis

     docker run -it --link redis1 --rm docker.io/redis redis-cli -h redis1 -p 6379

    docker容器,我们想直接通过ssh链接docker容器,而不是通过宿主机进入的方式

    首先,先了解一下docker,docker 命令

    启动docker,进入docker容器

    1.如果是守护态容器,可以通过下面的方式进入:

    docker exec -it 42d099e3fdca /bin/bash (3c0498ea5254是CONTAINER ID)
    

    2.进入docker后,使用passwd密码来修改密码(如提示没有这个命令行使用yum install passwd安装):

    passwd
        xxx密码
        xxx确认密码
    

    3.安装Openssh(docker 容器中执行)

    sudo yum -y install openssh-server
    $ sudo yum -y install openssh-clients
    

    修改SSH配置文件以下选项,去掉#注释,将四个选项启用:

    vi /etc/ssh/sshd_config

    RSAAuthentication yes #启用 RSA 认证
    PubkeyAuthentication yes #启用公钥私钥配对认证方式
    AuthorizedKeysFile .ssh/authorized_keys #公钥文件路径(和上面生成的文件同)
    PermitRootLogin yes #root能使用ssh登录
    

    重启ssh服务,并设置开机启动:

    service sshd restart
    $ chkconfig sshd on
    

    4.退出容器并保存更改

    使用exit命令或者ctrl+C来退出当前运行的容器:

    [root@ffe81683c404 /]# exit
    

    注意:上面ffe81683c404是容器的ID,退出后用于保存的唯一ID。

    当结束后,我们使用 exit 来退出

    现在我们的容器已经被我们改变了,使用 docker commit 命令,将当前的容器生成镜像。

    sudo docker commit -m 'install openssh' -a 'Docker Newbee' ffe81683c404  centos6-jdk7:ssh
    4f177bd27a9ff0f6dc2a830403925b5360bfe0b93d476f7fc3231110e7f71b1c
    

    -m:来指定提交的说明信息,跟我们使用的版本控制工具一样

    -a 可以指定更新的用户信息

    ffe81683c404: 创建镜像的容器的ID,就是上面的容器id,也就是我们刚才进入的容器id

    centos6-jdk7:ssh: 目标镜像的仓库名和 tag 信息,冒号前面部分是生成的镜像的仓库名字,冒号后面是镜像tag

    创建成功后会返回这个镜像的 ID 信息,查看镜像

    docker images
    

    5.启动新的容器并打通22端口

    将新的镜像启动,并将docker服务器的50001端口映射到容器的22端口上:

    docker run -d -p 2222:22 centos6-jdk7:ssh /usr/sbin/sshd -D
    

    然后用xshell连接,

    ip: 为宿主主机的ip,而不是docker容器的ip

    端口:就是上面的2222

    用户名: root

    密码: 就是上面password部分设置的密码

    即可连接成功

    6.关掉该容器

    在宿主机通过 docker stop 容器id 即可关闭

    启动容器 docker start 容器id

    启动后,就可以用xshell进行连接。

     
  • 相关阅读:
    2020年7月3日 查找算法 代码
    QList 和QStringList为空 at()的错误
    网络编程TCP
    02#2位带操作
    04#认识指针
    03#指针内存图//拓展大小端序
    02#循环控制+分支控制+goto标签//拓展3目运算符和逗号运算符
    01#c语言基础内容
    输入的竖线变横
    Keil打包工程
  • 原文地址:https://www.cnblogs.com/mxz1994/p/8820144.html
Copyright © 2011-2022 走看看