Docker环境搭建以及基本操作

Docker环境基本搭建:

基础环境:Centos 7.4        IP:192.168.30.117

[root@docker ~]# cat /etc/redhat-release                     \\查看系统版本

[root@docker ~]# uname –r                                                  \\查看系统内核版本

[root@docker ~]# vi /etc/yum.repos.d/docker.repo      \\配置docker  yum源

[docker-ce-stable]

name=Docker CE Stable - $basearch

baseurl=https://download.docker.com/linux/centos/7/$basearch/stable

enabled=1

gpgcheck=0

gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-stable-debuginfo]

name=Docker CE Stable - Debuginfo $basearch

baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/stable

enabled=0

gpgcheck=1

gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-stable-source]

name=Docker CE Stable - Sources

baseurl=https://download.docker.com/linux/centos/7/source/stable

enabled=0

gpgcheck=1

gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-edge]

name=Docker CE Edge - $basearch

baseurl=https://download.docker.com/linux/centos/7/$basearch/edge

enabled=0

gpgcheck=1

gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-edge-debuginfo]

name=Docker CE Edge - Debuginfo $basearch

baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/edge

enabled=0

gpgcheck=1

gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-edge-source]

name=Docker CE Edge - Sources

baseurl=https://download.docker.com/linux/centos/7/source/edge

enabled=0

gpgcheck=1

gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-test]

name=Docker CE Test - $basearch

baseurl=https://download.docker.com/linux/centos/7/$basearch/test

enabled=0

gpgcheck=1

gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-test-debuginfo]

name=Docker CE Test - Debuginfo $basearch

baseurl=https://download.docker.com/linux/centos/7/debug-$basearch/test

enabled=0

gpgcheck=1

gpgkey=https://download.docker.com/linux/centos/gpg

[docker-ce-test-source]

name=Docker CE Test - Sources

baseurl=https://download.docker.com/linux/centos/7/source/test

enabled=0

gpgcheck=1

gpgkey=https://download.docker.com/linux/centos/gpg

wq          \\保存退出

[root@docker ~]# yum update                           \\更新系统软件

[root@docker ~]# yum install docker-ce -y               \\安装docker-ce社区版本

[root@docker ~]# docker version        \\查看docker版本以及相关信息

[root@docker ~]# service docker start   \\启动docker容器服务

[root@docker ~]# chkconfig docker on   \\将docker服务设置为开机启动

----------------------------------------至此docker容器安装服务已完成-------------------------------

Docker镜像常用基本操作:

  1. [root@docker ~]# docker search centos       \\搜索一个镜像(默认从docker hub上搜索)

   

  1. [root@docker ~]# docker pull centos                \\从官方仓库内下载镜像,centos为镜像名

  

  1. [root@docker ~]# docker images /docker image ls      \\ 查看本地的镜像

  

  1. docker rmi 镜像名:标签 / docker rmi 镜像id  \\删除指定镜像
  2. docker rmi `docker images –q `                 \\删除本地的所有镜像

docker 容器基本操作:

  1. [root@docker ~]# docker run -it centos /bin/bash       \\以镜像为基础,新建一个容器,并分配一个伪终端,运行bash;
  2. [root@docker ~]# docker run -d centos                                \\在后台运行一个容器
  3. [root@docker ~]# docker run -it --name no.1 centos /bin/bash    \\--name:将新建的容器设置一个别名,方便辨识与管理
  4. [root@docker ~]# docker rm -f `docker ps -a -q`                        \\强制删除所有容器(运行与非运行状态的容器)
  5. [root@docker ~]# docker run -d -p 80:80 nginx                    \\在后台运行一个容器,并将内容器的80端口映射到宿主机的80端口,p:表示指定映射,P:表示随机映射

   

Docker 容器数据管理:

数据管理:(centos7及以上版本的系统,进行文件挂载等操作的时候,需将selinux关闭)

  1. Docker run -d -v 本地目录:容器目录  镜像名/镜像id   \\将本地文件夹挂载到容器的某个文件夹中,方便数据管理
  2. docker run -it –name database –v /database centos               \\创建一个名为database的数据卷容器,该容器可供其他容器挂载,进行持续性的共享数据

[root@docker ~]# docker run -it --volumes-from database --name db1 centos      \\新建一个名为db1的容器并挂载到一个名为database的数据卷容器

[root@docker ~]# docker run -it --volumes-from database --name db2 centos \\新建一个名为db2的容器并挂载到一个名为database的数据卷容器

目前三个容器内的database文件夹下面是没有文件的,尝试在id结尾为99的容器内新建aa、bb、cc文件,并测试db1和db2容器的database文件夹下是否会产生aa、bb、cc文件夹

Id99结尾的数据容器中,三个文件分别创建完成;我们在另外两台总查看

在db1和db2容器中,均发现三个文件的存在;

注:容器的id与镜像的id是唯一的

Docker容器数据备份:

数据备份的方式有两种:

  1. 通过挂载目录然后通过本地文件夹定期进行备份(略,方法同数据管理)
  2. 通过将整个容器进行封装成镜像,并在新的容器中运行:

a)         [root@docker ~]# docker run -it --name backup centos /bin/bash \\新建并运行backup容器

b)         在容器中的opt目录新建一些数据,如123.txt、456.txt、abc文件夹等

c)         Ctrl+P+Q        //退出容器

d)         [root@docker ~]# docker export -o backup1.tar.gz 50647aedf5e1       \\将运行中的容器打包成镜像

e)         [root@docker ~]# ls                 \\查看当前目录文件,容器打包后产生backup1.tar.gz文件

f)          [root@docker ~]# scp backup1.tar.gz root@192.168.30.113:               \\将该文件移动至ip为192.168.30.113的centos系统中:

g)         [root@log ~]# cat backup1.tar.gz | docker import - backup:latest   \\导入软件包,并定义新的标签

h)         [root@log ~]# docker images                             \\成功导入为新的镜像

i)           [root@log ~]# docker run -it  52b8157563d3 /bin/bash       \\运行导入的镜像

j)           [root@af94c3034a26 /]# ls /opt/             \\在容器中查看opt文件夹,发现原有数据

-------------------------------------------------------至此数据备份操作结束-----------------------------------------

持续更新。。。。。。。。。。

Docker环境搭建以及基本操作的更多相关文章

  1. centos7系统下 docker 环境搭建

    运行环境: VMware Workstation Pro 在虚拟机中安装centos7系统, 选择最小安装, 网络连接方式选择的桥接(与宿主机在同一IP段)centos7一定要安装64位, docke ...

  2. win7下docker环境搭建nginx+php-fpm+easyswoole+lavarel+mysql开发环境

    win7环境基础在上一篇win7下docker环境搭建nginx+php-fpm+easyswoole开发环境中已经详细叙述搭建完成 本篇文章将叙述如何在上述基础上搭建laravel开发环境,这个其实 ...

  3. Docker 环境搭建(RedHat 7)

    Docker 环境搭建(RedHat 7): CentOS7 下载 http://mirrors.sohu.com/centos/7/isos/x86_64/ 装载镜像文件 安装Linux 7, 参考 ...

  4. 【架构】docker环境搭建mysql主从

    序 本文主要研究怎么在docker上搭建mysql的主从.因为在单机搭建mysql多实例然后再配主从,感觉太痛苦了,环境各有不同,配置各不大相 同,从网上找搭建方法,试了半天也没成功,最后也没耐心调试 ...

  5. ClusterControl docker 环境搭建

    ClusterControl 是一款比较强大的数据库管理平台,包含了丰富的数据库管理功能. 我们可以用来方便的进行数据管理 测试使用docker-compose 管理 环境准备 docker-comp ...

  6. docker环境搭建centos+jdk+tomcat_CENTOS篇

    前言 (1)写在前面的话,鉴于在linux或类unix系统中安装jdk+tomcat等环境,没有什么经验,所以选择在docker容器中安装之,以防止安装失败无法恢复系统 (2)需要下载对应的系统的do ...

  7. win7下docker环境搭建nginx+php-fpm+easyswoole开发环境

    基础的环境已在文章nginx.php-fpm.swoole HTTP/TCP压测对比中搭建了,现在是在这个基础上在搭建easyswoole开发环境 主要要修改的地方是dnmp包里面的docker-co ...

  8. Mesos+Zookeeper+Marathon+Docker环境搭建

    相关理论请参考:https://www.cnblogs.com/Bourbon-tian/p/7155054.html,本文基于https://www.cnblogs.com/Bourbon-tian ...

  9. 【Docker】Windows下docker环境搭建及解决使用非官方终端时的连接问题

    背景 时常有容器方面的需求,经常构建调试导致测试环境有些混乱,所以想在本地构建一套环境,镜像调试稳定后再放到测试环境中. Windows Docker 安装 安装docker toolbox 博主的电 ...

随机推荐

  1. Java 之常用运算符(3)

    什么是运算符: 运算符是一种“功能”符号,用以通知 Java 进行相关的运算.譬如,我们需要将变量 age 的值设置为 20 ,这时候就需要一个“=”,告诉程序需要进行赋值操作. Java 语言中常用 ...

  2. unity中Animation与Animator的区别

    Animation:单一动画,一般使用在单一动画播放.占用资源小. Animator:多个动画,可用控制器切换多个动画播放.占用资源大.

  3. javascript 事件相关使用总结01

    javascript 事件相关使用总结01 这里总结一下js事件相关的经验. addEventLinstener()介绍 注册事件最基础的函数是这个 target.addEventListener(t ...

  4. linux压缩

    zip:打包 :zip something.zip something (目录请加 -r 参数)解包:unzip something指定路径:-d 参数tar:打包:tar -zcvf somethi ...

  5. MySQL半同步复制的搭建和配置原理

    半同步复制: 什么是半同步复制?我们知道在默认情况下,MySQL的复制是异步的,这意味着主服务器及其从服务器是独立的.异步复制可以提供最佳的性能,因为主服务器在将更新的数据写入它的二进制日志(Binl ...

  6. sqlserver索引维护(重新组织生成索引)

    sqlserver索引的维护 1:查看索引碎片大于百分三十以上的索引 select object_id= object_id,indexid = index_id,partitionnum = par ...

  7. CVE-2016-3231

    摘要:重现了下韩国小哥Lokihardt在pwn2own上的过沙箱提权漏洞. 1 #include <windows.h> 2 #include <atlbase.h> 3 # ...

  8. selenium 滑动解锁(drag_and_drop_by_offset)

    from selenium import webdriver from selenium.webdriver.common.action_chains import ActionChains from ...

  9. 在IDE中集成boost

    1. 获得Boost 进入Boost的网站(http://www.boost.org/) 下载boost_1_62_0.zip 2. 解压Boost 解压 boost_1_62_0.zip ,比如解压 ...

  10. ZT————pull push mode

    谁能讲讲push和pull模式是什么意思?(参与有分) [问题点数:100分,结帖人mickeyfirst] 收藏 mickeyfirst mickeyfirst 等级: 结帖率:94.12% 楼主 ...