zoukankan      html  css  js  c++  java
  • 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

    魅力男神
  • 相关阅读:
    【基础算法】- 全排列
    【基础算法】- 2分查找
    区块链培训
    Static Binding (Early Binding) vs Dynamic Binding (Late Binding)
    test
    No data is deployed on the contract address!
    "throw" is deprecated in favour of "revert()", "require()" and "assert()".
    Variable is declared as a storage pointer. Use an explicit "storage" keyword to silence this warning.
    京都行
    Failed to write genesis block: database already contains an incompatible
  • 原文地址:https://www.cnblogs.com/capable/p/7130906.html
Copyright © 2011-2022 走看看