美文网首页
docker操作简易指南

docker操作简易指南

作者: happy_杨 | 来源:发表于2019-07-18 09:16 被阅读0次

    docker:开源容器引擎:GO开发,apache2.0开源协议

    打包应用到容器中,共用宿主机资源(轻量级),使用沙箱机制,C/S结构

    概念:

    docker image:创建容器的模板

    docker container:独立的应用,一个或一组

    docker register:代码仓库

    6.5epel以上含有docker repo

    docker安装:

    nmcli connection delete ens33

    nmcli connection add type ethernet con-name ens33 ifname ens33 autoconnect yes

    nmcli connection modify ens33 ipv4.method auto connection.autoconnect yes    or:

        nmcli connection modify ens33 ipv4.method manual ipv4.addresses IP/24 ipv4.gateway IP ipv4.dns IP connection.autoconnect yes 

    nmcli connection up ens33

    pingwww.baidu.com

    rm -f /etc/yum.repos.d/*

    curl -OL /etc/yum.repos.d/http://mirrors.163.com/.help/CentOS7-Base-163.repo

    yum repolist

    yum install -y docker

    docker存储配置:

    NFS/gluster/LV

    vim /etc/sysconfig/docker-storage-setup

    : r /usr/^#参考的配置文件

    DEVS=/dev/sdb    #新挂载的设备

    VG=zqydockervg #任意的名字

    source docker-storage-setup(脚本可以反复使用)

    systemctl enable docker;systemctl start docker

    如果先启动了docker,需要:

    rm -rf /var/lib/docker/ ; source docker-storage-setup

    单机docker可以不做以下部分:

    systemctl disable firewalld;systemctl stop firewalld

    setenforce 0

    image下载

    docker version

    docker images

    docker search debian #official官方镜像

    docker pull docker.io/debian:version number #version number没有默认下载最新版本latest

    国内镜像加速器:

    hub-mirror.c.163.com

    vim /etc/sysconfig/docker

    vim /etc/docker/daemon.json

    {

      "registry-mirrors":["http://hub-mirror.c.163.com"]

    }

    systemctl restart docker

    需要的镜像:

    for i in nginx:1.12 mysql:5.5 httpd:2.4 debian:8.10 centos:6.9 php:5.5 registry ;do docker pull $i;done

    latest会每次检查版本

    docker run -it --rm docker.io/debian:8.10 /bin/sh        #/bin/sh可以缩写为bash

    debian与centos类似命令:rpm=dpkt;apt-get=yum

    /etc/apt/sources.list=repofile

    apt-get upgrade

    apt-get isntall apache2

    apt-cache search apache2=yum search httpd

    docker run -d -p 80:80 httpd #-p 端口转发:真机:容器

    curl 真机IP

    docker exec -it containerIP|containerName bash

    find / -name idex.html

    ls -l /usr/local/apache2/htdocs/index.html

    docker ps #正在运行的容器 -a查询所有容器

    CTRL+D退出容器

    docker rm containerIP    #退出的容器IP

    docker stop container,docker kill -s KILL containerIP    #停不下来强杀容器 

    docker logs containIP

    image导入导出

    docker save debian >/tmp/debian.tar

    docker rmi debian

    docker load < /tmp/debian.tar 

    image制作

    dockerfile:

    https://hub.docker.com/_/httpd/

    抄一个dockerfile:/tmp/Dockerfile

    docker build -t zqy/zqy:v1 /tmp

    文件名必须叫Dockerfile

    vim /tpm/Dockerfile

    FROM centos#基础镜像

    MAINTAINER zqy "zqy@z.g"

    RUN /bin/echo 'root:redhat'|chpasswd

    EXPOSE 22

    ADD 

    CMD /usr/sbin/sshd -D

    docker history 

    容器构建镜像:

    docker run -it --name zqy debian bash#在容器中进行自定义

    exit

    docker commit -m "zqy v1" -a=zqy ContainerName zqy/zqy:v1    #提交镜像,-m:描述 -a:作者 本地镜像库/镜像名称:版本号

    docker run -it --name zqy debian bash#在容器中进行自定义,容器进入exit状态后

    docker export -o /tmp/zqy.tar ContainerName

    ll -h /tmp/zqy.tar

    docker import -m "zqy v2" /tmp/zqy.tar zqy/zqy:v2

    docker images

    docker logs ContainerName

    docker events -f image=zqy/zqy:v2 --since 1467302400

    docker history zqy/zqy:v2

    #####    常见容器介绍    ######

    应用类容器:nginx、httpd -P:随机端口 -p:指定端口 -d:后台容器

    docker run -d -P --name zqyhttpd httpd:2.4

    curl localhost:port|127.0.0.1:port

    docker exec -it containername bash    #容器内操作

    docker stop containername

    --restart=always:docker run中自动启动

    docker rm `docker ps -q`

    挂载卷:容器的永久性存储

    docker run -d -P -v 真机路径(可以没有,会自动建):容器路径 --name http httpd bash

    docker cp httpd:filename /tmp    #

    docker cp /etc/fstab httpd:tmp    #

    docker run -it -d -v /nginx:/usr/share/ nginx bash

    docker run -it -d -P -e MYSQL_ROOT_PASSWORD=123456 -e MYSQL_USER=zqy -e MYSQL_PASSWORD=zqy -v /mysql:/var/lib/mysql --name mysql mysql

    -e:容器作者设定参数

    真机登陆:

    mysql -hIP -Pprot -uroot -p123456

    docker run -it --name centos --link mysql centos    #加入环境变量,容器间建立连接

    cat /etc/hosts

    docker inspect centos    #详细信息

    本地镜像仓库:registry

    login:master

    vim /etc/hosts

    ip registry

    ip node2

    ip node1

    ip master

    docker pull registry

    docker run -it -d -p 5000:5000 --restart=always --name registry registry sh

    find / -name registry  #/var/lib/registry

    docker tag debian:latest registry:5000/zqy/registry:latest    #打标

    vim /etc/docker/daemon.json

    {"registry-mirrors":["http://hub-mirror.c.163.com"],"insecure-registry":["registry:5000"]}

    sytemctl restart docker

    docker push registry:5000/zqy/registry:latest

    login:node2/node1    #下载image

    挂存储

    yum install docker -y

    vim /etc/sysconfig/docker-storage-setup

    docker-storage-setup

    vgs

    lvs

    systemctl restart docker;systemctl enable docker

    vim /etc/docker/daemon.json

    docker pull registry:5000/zqy/registry:latest

    本地镜像支持各节点push/pull镜像

    相关文章

      网友评论

          本文标题:docker操作简易指南

          本文链接:https://www.haomeiwen.com/subject/updmwftx.html