Centos7 docker安装实例

简介: 安装docker,常用命令

安装docker

yum install docker
  • 1
  • 1

配置国内镜像源(提速)

国内加速源:https://www.daocloud.io/mirror.html#accelerator-doc

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://0fc8f023.m.daocloud.io
  • 1
  • 1

下载docker镜像

  • 搜索镜像
docker search centos
  • 1
  • 1
[root@cloud CentOS-YUM]# docker search centos
INDEX       NAME                                             DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
docker.io   docker.io/centos                                 The official build of CentOS.                   2987      [OK]       
docker.io   docker.io/jdeathe/centos-ssh                     CentOS-6 6.8 x86_64 / CentOS-7 7.3.1611 x8...   55                   [OK]
docker.io   docker.io/nimmis/java-centos                     This is docker images of CentOS 7 with dif...   20                   [OK]
docker.io   docker.io/consol/centos-xfce-vnc                 Centos container with "headless" VNC sessi...   18                   [OK]
docker.io   docker.io/million12/centos-supervisor            Base CentOS-7 with supervisord launcher, h...   12                   [OK]
docker.io   docker.io/torusware/speedus-centos               Always updated official CentOS docker imag...   8           
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 下载镜像
docker pull centos:6 #下载centos6
  • 1
  • 1
  • 查看镜像
docker images  #查看镜像
  • 1
  • 1

启动容器

  • 创建容器实例
[root@cloud ~]# docker images
REPOSITORY                    TAG                 IMAGE ID            CREATED             SIZE
ssh-centos6                   latest              670e6db182f5        5 days ago          497.1 MB
docker.io/centos              latest              67591570dd29        3 weeks ago         191.8 MB
docker.io/centos              6                   8315978ceaaa        9 weeks ago         194.6 MB
[root@cloud ~]# docker run -i -t --name=centos10  ssh-centos6  /bin/bash     #用镜像ssh-centos6创建容器,设置名称为centos10
[root@e308c0493046 /]# 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

docker命令

# 查看运行中的容器
docker ps 

# 查看所有容器
docker ps -a

# 退出容器
按Ctrl+D 即可退出当前容器【但退出后会停止容器】

# 退出不停止容器:
组合键:Ctrl+P+Q

# 启动容器
docker start 容器名或ID

# 进入容器
docker attach 容器名或ID

# 停止容器
docker start 容器名或ID

# 删除全部容器--慎用
docker stop $(docker ps -q) & docker rm $(docker ps -aq)

#保存容器,生成镜像
docker commit 容器ID 镜像名称

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27

docker配置

限制容器资源

# CPU使用0-3总共4个核心,内存1G ,--net=none不配置网络(桥接模式是pipework设置网络)
docker run -itd --net=none --name=centos07 --cpuset-cpus="0-3"  -m 1024M --memory-reservation 1024M centos6-132.97.8.7-170106_2 /bin/bash
  • 1
  • 2
  • 1
  • 2

更改存储目录

#复制docker存储目录
rsync -aXS /var/lib/docker/. /home/docker

#更改 docker 存储文件目录
ln -s  /home/docker  /var/lib/docker
  • 1
  • 2
  • 3
  • 4
  • 5
  • 1
  • 2
  • 3
  • 4
  • 5

设置存储大小

# ubuntu在/etc/default/docker
# centos在/etc/sysconfig/docker-storage
cat /etc/sysconfig/docker-storage

DOCKER_STORAGE_OPTIONS="--storage-opt dm.loopdatasize=2000G --storage-opt dm.loopmetadatasize=10G --storage-opt dm.fs=ext4 --storage-opt dm.basesize=20G"

#dm.loopdatasize=2000G是指存放数据的数据库空间为2t,默认是100g
#dm.loopmetadatasize=10G是存放Metadata数据空间为10g,默认是2g
#dm.fs=ext4是指容器磁盘分区为ext4
#dm.basesize=20G是指容器根分区默认为20g,默认是10g
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

docker桥接模式

linux桥接网络配置

[root@localhost ~]# cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]# cp ifcfg-eth0 ifcfg-br0
[root@localhost network-scripts]# vi ifcfg-eth0

//改成这样
DEVICE=eth0
HWADDR=00:0C:29:06:A2:35
TYPE=Ethernet
UUID=34b706cc-aa46-4be3-91fc-d1f48c301f23
ONBOOT=yes
BRIDGE=br0
NM_CONTROLLED=yes
BOOTPROTO=static

[root@localhost network-scripts]# vi ifcfg-br0

//改成这样
DEVICE=br0
TYPE=Bridge
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.216.131
NETMASK=255.255.255.0
GATEWAY=192.168.216.2
DNS=8.8.8.8

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 重启网卡
service network restart
  • 1
  • 1

设置启动参数

# centos 在/etc/sysconfig/docker
# 其他操作系统请前往下面的网址
# https://docs.docker.com/installation/#installation
vi /etc/sysconfig/docker #在OPTIONS='--selinux-enabled'这行中修改为OPTIONS='--selinux-enabled -b=br0'即让docker服务启动时使用br0网卡进行桥接
  • 1
  • 2
  • 3
  • 4
  • 1
  • 2
  • 3
  • 4

安装pipework

git clone https://github.com/jpetazzo/pipework
cp ~/pipework/pipework /usr/local/bin/
  • 1
  • 2
  • 1
  • 2

启动手动设置网络的容器

docker run -itd --net=none --name=centos06 --cpuset-cpus="0-3"  -m 1024M --memory-reservation 1024M ssh-centos6 /bin/bash
  • 1
  • 1

使用pipework设置IP

pipework br0 centos06 132.97.8.6/24@132.97.8.1
  • 1
  • 1

进去docker查看IP

docker attach centos06
ifconfig
service sshd restart #重启ssh
  • 1
  • 2
  • 3
  • 1
  • 2
  • 3

docker开机启动脚本

vi docker_start.sh
  • 1
  • 1
#! /bin/bash
# chkconfig: 2345 10 90
# description: docker 

service docker start
docker start centos06
docker start centos07
pipework br0 centos06 132.97.8.6/24@132.97.8.1
pipework br0 centos07 132.97.8.7/24@132.97.8.1
docker exec -i  centos06 service sshd restart
docker exec -i  centos07 service sshd restart
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
1、将脚本移动到/etc/rc.d/init.d目录下
mv  /home/xy/docker_start.sh /etc/rc.d/init.d

2、增加脚本的可执行权限
chmod +x  /etc/rc.d/init.d/docker_start.sh

3、添加脚本到开机自动启动项目中
cd /etc/rc.d/init.d
chkconfig --add docker_start.sh
chkconfig docker_start.sh on
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10

其他资料

# 5分钟弄懂Docker!
http://www.csdn.net/article/2014-07-02/2820497-what%27s-docker

# docker操作实例,图文教程
http://blog.csdn.net/wuzhilon88/article/details/41621285/
目录
相关文章
|
5天前
|
Java 应用服务中间件 Linux
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
本文主要讲解了Docker的安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库以及Docker容器虚拟化与传统虚拟机比较。
【Docker容器化技术】docker安装与部署、常用命令、容器数据卷、应用部署实战、Dockerfile、服务编排docker-compose、私有仓库
|
23天前
|
关系型数据库 MySQL Linux
Docker安装Mysql5.7,解决无法访问DockerHub问题
当 Docker Hub 无法访问时,可以通过配置国内镜像加速来解决应用安装失败和镜像拉取超时的问题。本文介绍了如何在 CentOS 上一键配置国内镜像加速,并成功拉取 MySQL 5.7 镜像。
201 2
Docker安装Mysql5.7,解决无法访问DockerHub问题
|
5天前
|
存储 Linux Docker
centos系统清理docker日志文件
通过以上方法,可以有效清理和管理CentOS系统中的Docker日志文件,防止日志文件占用过多磁盘空间。选择合适的方法取决于具体的应用场景和需求,可以结合手动清理、logrotate和调整日志驱动等多种方式,确保系统的高效运行。
8 2
|
10天前
|
Prometheus 监控 Cloud Native
基于Docker安装Grafana和Prometheus
Grafana 是一款用 Go 语言开发的开源数据可视化工具,支持数据监控和统计,并具备告警功能。通过 Docker 部署 Grafana 和 Prometheus,可实现系统数据的采集、展示和告警。默认登录用户名和密码均为 admin。配置 Prometheus 数据源后,可导入主机监控模板(ID 8919)进行数据展示。
44 2
|
12天前
|
安全 Linux Shell
docker运行centos提示Operation not permitted
通过上述步骤,可以有效排查和解决在Docker中运行CentOS容器时遇到的"Operation not permitted"错误。这些措施涵盖了从权限配置、安全策略到容器运行参数的各个方面,确保在不同环境和使用场景下都能顺利运行容器。如果你需要进一步优化和管理你的Docker环境
17 3
|
13天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
35 2
|
14天前
|
消息中间件 Linux RocketMQ
在Red Hat Enterprise Linux 9上使用Docker快速安装并部署
通过以上步骤,你可以在Red Hat Enterprise Linux 9上使用Docker快速安装并部署RocketMQ。这种方法不仅简化了安装过程,还提供了一个灵活的环境来管理和扩展消息队列系统。RocketMQ作为一款高性能的分布式消息系统,通过Docker可以实现快速部署和高效管理。
24 3
|
1月前
|
监控 虚拟化 Docker
Window系统安装Docker
这篇文章提供了在Windows系统上安装与配置Docker的详细指南,包括Docker Desktop的安装及通过Docker来运行容器化应用的步骤。
91 1
Window系统安装Docker
|
1月前
|
存储 物联网 数据安全/隐私保护
Docker安装Mosquitto
这篇文章详细介绍了如何在Docker中安装和配置Mosquitto消息代理服务,包括拉取镜像、创建容器以及配置持久化存储等步骤。
55 0
Docker安装Mosquitto
|
16天前
|
关系型数据库 MySQL Linux
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
基于阿里云服务器Linux系统安装Docker完整图文教程(附部署开源项目)
153 2

热门文章

最新文章

下一篇
无影云桌面