Docker环境搭建以及基本操作

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文件夹,发现原有数据

 

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

 

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

 

posted @ 2019-01-25 16:47  你说666  阅读(1345)  评论(0编辑  收藏  举报