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镜像常用基本操作:
- [root@docker ~]# docker search centos \\搜索一个镜像(默认从docker hub上搜索)
- [root@docker ~]# docker pull centos \\从官方仓库内下载镜像,centos为镜像名
- [root@docker ~]# docker images /docker image ls \\ 查看本地的镜像
- docker rmi 镜像名:标签 / docker rmi 镜像id \\删除指定镜像
- docker rmi `docker images –q ` \\删除本地的所有镜像
docker 容器基本操作:
- [root@docker ~]# docker run -it centos /bin/bash \\以镜像为基础,新建一个容器,并分配一个伪终端,运行bash;
- [root@docker ~]# docker run -d centos \\在后台运行一个容器
- [root@docker ~]# docker run -it --name no.1 centos /bin/bash \\--name:将新建的容器设置一个别名,方便辨识与管理
- [root@docker ~]# docker rm -f `docker ps -a -q` \\强制删除所有容器(运行与非运行状态的容器)
- [root@docker ~]# docker run -d -p 80:80 nginx \\在后台运行一个容器,并将内容器的80端口映射到宿主机的80端口,p:表示指定映射,P:表示随机映射
Docker 容器数据管理:
数据管理:(centos7及以上版本的系统,进行文件挂载等操作的时候,需将selinux关闭)
- Docker run -d -v 本地目录:容器目录 镜像名/镜像id \\将本地文件夹挂载到容器的某个文件夹中,方便数据管理
- 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容器数据备份:
数据备份的方式有两种:
- 通过挂载目录然后通过本地文件夹定期进行备份(略,方法同数据管理)
- 通过将整个容器进行封装成镜像,并在新的容器中运行:
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环境搭建以及基本操作的更多相关文章
- centos7系统下 docker 环境搭建
运行环境: VMware Workstation Pro 在虚拟机中安装centos7系统, 选择最小安装, 网络连接方式选择的桥接(与宿主机在同一IP段)centos7一定要安装64位, docke ...
- win7下docker环境搭建nginx+php-fpm+easyswoole+lavarel+mysql开发环境
win7环境基础在上一篇win7下docker环境搭建nginx+php-fpm+easyswoole开发环境中已经详细叙述搭建完成 本篇文章将叙述如何在上述基础上搭建laravel开发环境,这个其实 ...
- Docker 环境搭建(RedHat 7)
Docker 环境搭建(RedHat 7): CentOS7 下载 http://mirrors.sohu.com/centos/7/isos/x86_64/ 装载镜像文件 安装Linux 7, 参考 ...
- 【架构】docker环境搭建mysql主从
序 本文主要研究怎么在docker上搭建mysql的主从.因为在单机搭建mysql多实例然后再配主从,感觉太痛苦了,环境各有不同,配置各不大相 同,从网上找搭建方法,试了半天也没成功,最后也没耐心调试 ...
- ClusterControl docker 环境搭建
ClusterControl 是一款比较强大的数据库管理平台,包含了丰富的数据库管理功能. 我们可以用来方便的进行数据管理 测试使用docker-compose 管理 环境准备 docker-comp ...
- docker环境搭建centos+jdk+tomcat_CENTOS篇
前言 (1)写在前面的话,鉴于在linux或类unix系统中安装jdk+tomcat等环境,没有什么经验,所以选择在docker容器中安装之,以防止安装失败无法恢复系统 (2)需要下载对应的系统的do ...
- win7下docker环境搭建nginx+php-fpm+easyswoole开发环境
基础的环境已在文章nginx.php-fpm.swoole HTTP/TCP压测对比中搭建了,现在是在这个基础上在搭建easyswoole开发环境 主要要修改的地方是dnmp包里面的docker-co ...
- Mesos+Zookeeper+Marathon+Docker环境搭建
相关理论请参考:https://www.cnblogs.com/Bourbon-tian/p/7155054.html,本文基于https://www.cnblogs.com/Bourbon-tian ...
- 【Docker】Windows下docker环境搭建及解决使用非官方终端时的连接问题
背景 时常有容器方面的需求,经常构建调试导致测试环境有些混乱,所以想在本地构建一套环境,镜像调试稳定后再放到测试环境中. Windows Docker 安装 安装docker toolbox 博主的电 ...
随机推荐
- *p++、*++p、(*p)++区别
关于数组指针的谜题 假设 p 是指向数组 arr 中第 n 个元素的指针,那么 *p++.*++p.(*p)++ 分别是什么意思呢? *p++ 等价于 *(p++),表示先取得第 n 个元素的值,再将 ...
- C++中long是什么类型
long long本质上还是整型,只不过是一种超长的整型. int型:32位整型,取值范围为-2^31 ~ (2^31 - 1) .long:在32位系统是32位整型,取值范围为-2^31 ~ (2^ ...
- Mysql存储Emoji表情[为何utf8不能存储以及如何使Mysql能够存储Emoji表情]
https://segmentfault.com/a/1190000008533577
- C++11标准之右值引用(rvalue reference)
1.右值引用引入的背景 临时对象的产生和拷贝所带来的效率折损,一直是C++所为人诟病的问题.但是C++标准允许编译器对于临时对象的产生具有完全的自由度,从而发展出了Copy Elision.RVO(包 ...
- Python零基础学习系列之四--Python程序设计思想
前面我们把Python环境安装成功,同时也选择了自己合适的IDE工具来开启自己的编程之旅. 那么今天来说说怎么编程,程序设计需要什么步骤,我们应该怎么做才能编写自己的程序. 1-1.程序设计方法: I ...
- 个人Hadoop编程代码记录
**WordCount package cn.cpl.recom; import java.io.IOException; import java.util.StringTokenizer; impo ...
- 管理kafka
一.主题操作使用kafka-topics.sh工具可以执行主题的大部分操作(配置变更部分已被启用并被移动到kafka-configs.sh工具中).我们可以用它创建.修改.删除和查看集群里的主题,要使 ...
- 阅读Hibernate框架Session接口的源码的笔记
一.阅读Session接口的注释的理解.(看着注释翻译的,有些地方可能翻译的不太对,有疑问再看源文档) ①.Session的生命周期随着事务开始而开始,事务的结束而结束. 附原文:The lifecy ...
- PHP 获取数组随意下标key的上一个prev和下一个next下标值
PHP 获取数组随意下标key的上一个prev和下一个next下标值 <? php $xoops[1] = '小'; $xoops[2] = '孩'; $xoops[3] = '子'; $xoo ...
- 解决weblogic错误:java.sql.SQLRecoverableException: IO Error: Broken pipe
首先说一下系统基础架构: 服务器:weblogic11g集群 数据库:oracle数据库Rac 出错信息: 1.java.sql.SQLRecoverableException: Closed Con ...