• docker 进阶


      docker 常用命令:

    docker  pull hub.c.163.com/library/mysql:latest  #这是从网址下载下来mysql镜像

    docker run  -d -p 8888:8080 jpress  #本地888容器里8080 jpress镜像名字  可以用docker ps 查看

    docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123.Comm -e MYSQL_DATABASE=jpress hub.c.163.com/library/mysql:latest  #-e指定mysql参数

    vim dockerfile

    from hub.c.163.com/library/tomcat:latest

    copy jpress.war /usr/local/tomcat/webapp       #这是写下载的javaweb包放到tomcat的webapp做展示,这个路径一般去tomcat的环境变量里查看在哪

    docker build -t jpress:latest .   #构建自己镜像,-t 指定名字上传用的

    docker exec -it f7 bash  #进入docker里面f7是运行id名字,bash是终端

     curl https://get.docker.com/ | sh      获取最新版docker

     https://c.163.com/hub#/m/home/  网易蜂巢镜像

    docker 将容器打包为镜像用

    docker commit -m "centos1" -a "aiyamayaThis is a centos1" dfda6efc2cd4

    ps: -m:指定行创建的镜像的提交信息  -a 指定作者等信息   dfda6efc2cd4:这个为指定容器id

    docker inspect copy #查看新创建镜像的详细信息

    让docker容器里的centos7 系统可以上网需要配置如下:

    除了默认的 docker0 网桥,用户也可以指定网桥来连接各个容器。

    在启动 Docker 服务的时候,使用 -b BRIDGE--bridge=BRIDGE 来指定使用的网桥。

    如果服务已经运行,那需要先停止服务,并删除旧的网桥。

    $ sudo service docker stop
    $ sudo ip link set dev docker0 down
    $ sudo brctl delbr docker0

    然后创建一个网桥 bridge0

    $ sudo brctl addbr bridge0
    $ sudo ip addr add 192.168.5.1/24 dev bridge0     #这里是设置容器里面可以通过这个网段网桥上网
    $ sudo ip link set dev bridge0 up

    查看确认网桥创建并启动。

    $ ip addr show bridge0
    4: bridge0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state UP group default
        link/ether 66:38:d0:0d:76:18 brd ff:ff:ff:ff:ff:ff
        inet 192.168.5.1/24 scope global bridge0
           valid_lft forever preferred_lft forever

    配置 Docker 服务,默认桥接到创建的网桥上。

    $ echo 'DOCKER_OPTS="-b=bridge0"' >> /etc/default/docker
    $ sudo service docker start

    启动 Docker 服务。新建一个容器,可以看到它已经桥接到了 bridge0 上。

    可以继续用 brctl show 命令查看桥接的信息。另外,在容器中可以使用 ip addr 和 ip route 命令来查看 IP 地址配置和路由信息。

    docker commit -p 30b8f18f20b4 container-backup  #使用docker images 查看快照

    该命令会生成一个作为Docker镜像的容器快照,我们可以通过运行 docker images 命令来查看Docker镜像

    Docker Login  #登录docker注册中心
    1.# docker tag a25ddfec4d2a arunpyasi/container-backup:test           #将镜像打包
    2.# docker push arunpyasi/container-backup                     #将镜像上传

    docker save -o ~/container-backup.tar container-backup       #将容器以.tar 方式备份到本地  打包完后ls查看即可

    docker pull arunpyasi/container-backup:test        #从注册中心拉取下来即可

    docker load -i ~/container-backup.tar            #备份到本地的tar包,想运行在docker images里的镜像命令

    docker run -d -p 80:80 container-backup    #运行起来该镜像

    3. 迁移Docker容器

    迁移容器同时涉及到了上面两个操作,备份和恢复。我们可以将任何一个Docker容器从一台机器迁移到另一台机器。在迁移过程中,首先我们将把容器备份为Docker镜像快照。然后,该Docker镜像或者是被推送到了Docker注册中心,或者被作为tar包文件保存到了本地。如果我们将镜像推送到了Docker注册中心,我们简单地从任何我们想要的机器上使用 docker run 命令来恢复并运行该容器。但是,如果我们将镜像打包成tar包备份到了本地,我们只需要拷贝或移动该镜像到我们想要的机器上,加载该镜像并运行需要的容器即可。
    最后,我们已经学习了如何快速地备份、恢复和迁移Docker容器,本教程适用于各个可以成功运行Docker的操作系统平台。真的,Docker是一个相当简单易用,然而功能却十分强大的工具。它的命令相当易记,这些命令都非常短,带有许多简单而强大的标记和参数。上面的方法让我们备份容器时很是安逸,使得我们可以在日后很轻松地恢复它们。这会帮助我们恢复我们的容器和镜像,即便主机系统崩溃,甚至意外地被清除

    本篇文章来源于 Linux公社网站(www.linuxidc.com) 原文链接:http://www.linuxidc.com/Linux/2015-08/121184.htm

    魅力男神
  • 相关阅读:
    简单线程池的设计
    MFC开发--截图工具
    Win32小游戏--蜘蛛纸牌
    C++语言动态创建对象
    C++语言类之间的关系
    c++语言虚函数实现多态的原理(更新版)
    5-24 c++语言之【基础知识】
    小细节--关于printf的输出问题
    Win32小游戏--贪吃蛇
    2020北大夏令营 终末游记
  • 原文地址:https://www.cnblogs.com/capable/p/7130906.html
Copyright © 2020-2023  润新知