centos7安装docker服务并使用

docker服务器的安装

前提条件

操作系统要求
要安装Docker Engine,您需要一个CentOS 7的维护版本。不支持或未测试存档版本。
该centos-extras库必须启用。默认情况下,此存储库是启用的,但是如果已禁用它,则需要 重新启用它。

卸载旧版本
较旧的Docker版本称为docker或docker-engine。如果已安装这些程序,请卸载它们以及相关的依赖项。

$ sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

如果yum报告未安装这些软件包,则可以。
的内容(/var/lib/docker/包括图像,容器,卷和网络)被保留。Docker Engine软件包现在称为docker-ce。

使用存储库安装

yum update  #更新yum库
#设置存储库 
#设置仓库,需要安装所需的软件包。yum-utils 提供了 yum-config-manager ,并且 device mapper 存储驱动程序需要 device-mapper-persistent-data 和 lvm2。
yum install -y yum-utils device-mapper-persistent-data lvm2 
#配置存储库为阿里镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
yum install docker-ce #安装docker
docker -v   #查看docker版本确认docker安装成功。

卸载docker

#卸载Docker Engine,CLI和Containerd软件包:
yum remove docker-ce docker-ce-cli containerd.io
#主机上的映像,容器,卷或自定义配置文件不会自动删除。要删除所有图像,容器和卷:
rm -rf /var/lib/docker

设置国内镜像源

创建 /etc/docker/daemon.json 文件,修改为如下形式

# vi /etc/docker/daemon.json
{
    "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
systemctl restart docker

国内镜像

docker 中国区官方镜像
https://registry.docker-cn.com

网易
http://hub-mirror.c.163.com

中国科技大学
https://docker.mirrors.ustc.edu.cn

阿里云容器 服务
https://cr.console.aliyun.com

docker的基本使用

docker基本命令

systemctl start docker #启动docker 
systemctl status docker#查看docker状态
systemctl stop docker#关闭docker
systemctl restart docker#重启docker
systemctl enable docker #开启docker开机自启
docker info #查看docker概要信息
docker --help #查看docker在线帮助文档

docker镜像相关的命令

查看docker本地镜像

docker images #

在这里插入图片描述

搜所镜像

docker search centos #搜索关键字中含有censos的镜像

在这里插入图片描述

拉取镜像
删除镜像

docker pull tutum/centos   #拉取镜像,查询出的镜像名称
docker rmi  镜像名称或者id # 删除指定镜像
docker rmi `docker images -q ` #删除所有镜像

docker容器相关的命令

查看容器

docker ps  #查看正在运行的容器
docker ps -a #查看所有的容器

在这里插入图片描述

创建并且启动容器

docker run  #创建并启动容器进本命令
docker run -it --name=容器名称 镜像名称:标签 /bin/bash #交互方式创建容器,退出容器后关闭
docker run -dt --name=容器名 镜像名:标签

-i : 表示运行容器
-t: 表示交互式容器,直接进入命令行
–name: 为创建的容器命名
-d: 守护进程的方式启动容器
-v: 目录映射(省去来回拷贝东西的烦恼)
-p:表示端口映射

开启、关闭或进入已存在的容器

docker stop 容器名称
docker start 容器名称
docker exec -it 容器名 /bin/bash

文件拷贝考入考出

docker cp  要拷贝文件的源目录 容器名称:容器中的路径 #考入
docker cp  容器名称:容器中的路径  宿主机目录#考出

目录挂载(解除来回拷贝的繁杂)

docker run -dt --name=mycentos3 -v /usr/local/myhtml/:/usr/local/myhtml  tutum/centos:latest

查看ip地址以及ip地址的提取

docker inspect 容器名(容器id)
docker inspect --format='{{.NetworkSettings.IPAddress}}'  容器名(容器id)

删除容器

docker rm 容器名称(容器ID)

docker的测试案例

配置mysql容器

在这里插入图片描述

docker pull mysql:5.6
docker images
docker run -di -p 3306:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 mysql:5.6
firewall-cmd --permanent --zone=public --add-port=3306/tcp
firewall-cmd --query-port=3306/tcp
firewall-cmd --reload

在这里插入图片描述

安装tomcat

在这里插入图片描述

docker pull tomcat:jdk8
docker run -di --name=my -p 8080:8080 tomcat:jdk8
firewall-cmd --permanent --zone=public --add-port=8080/tcp
firewall-cmd --reload
firewall-cmd --query-port=8080/tcp

在这里插入图片描述

部署nignx

docker pull nginx
docker run -di --name=mynginx -p 80:80 nginx:latest

在这里插入图片描述
模拟部署文件

echo '<h1>use my page</h1>' > 1.html
docker cp 1.html mynginx:/usr/share/nginx/html

在这里插入图片描述

部署redis

docker pull redis
docker run -di --name=myredis -p 6379:6379 redis
firewall-cmd --permanent --zone=public --add-port=6379/tcp
 firewall-cmd --reload

在这里插入图片描述

docker的迁移和备份

容器保存为镜像

docker commit mynginx mynginx_new
 docker run -di -p 81:80 mynginx_new

在这里插入图片描述在这里插入图片描述

镜像备份为文件

docker save -o mynignx.tar mynginx_new

在这里插入图片描述

镜像的恢复与迁移

删除镜像

 docer stop b677de541bd7
 docker stop b677de541bd7
 docker rm b677de541bd7
 docker rmi mynginx_new

恢复镜像

docker load -i mynignx.tar 

在这里插入图片描述

Dockerfile

定义

Dockerfile 是由一系列的命令和参数构成的脚本,这些命令应用于基础镜像并最终创建一个镜像

常用命令

FROM image_name:tag                 #定义使用哪一个基础镜像
MAINTAINER user_name                # 声明镜像创建者
EVN key value                                #设置环境变量
RUN command                               #dockerfile的核心
ADD source_dir/file dest_dir/file     #将宿主机的文件拷贝到容器中(自动解压)
COPY source_dir/file dest_dir/file  #将宿主机的文件拷贝到容器中(不自动解压)
WORKDIR path_dir                        #设置工作目录

利用dockerfile创建jdk1.8镜像

准备工作

  1. 准备工作创建一个目录,
  2. 将jdk1.8的安装包放入该目录
  3. 在该目录下创建Dockerfile文件
    在这里插入图片描述

编写Dockerfile

快速拷贝

FROM centos:7
MAINTAINER xingyanming
WORKDIR /usr
RUN mkdir /usr/local/java
ADD jdk-8u121-linux-x64.tar.gz /usr/local/java
ENV JAVA_HOME=/usr/local/java/jdk1.8.0_121
ENV JRE_HOME=$JAVA_HOME/jre
ENV CLASSPATH=$JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH
ENV PATH=$JAVA_HOME/bin:$PATH

详情解析

FROM centos:7 #来自哪个基础镜像
MAINTAINER xingyanming #镜像的创建者
WORKDIR /usr   #设置工作目录
RUN mkdir /usr/local/java  #运行的命令
ADD jdk-8u121-linux-x64.tar.gz /usr/local/java #拷贝并且解压
ENV JAVA_HOME=/usr/local/java/jdk1.8.0_121 #配置环境
ENV JRE_HOME=$JAVA_HOME/jre   #配置环境
ENV CLASSPATH=$JAVA_HOME/bin/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib:$CLASSPATH #配置环境
ENV PATH=$JAVA_HOME/bin:$PATH  #配置环境

构建服务

# -t 设置镜像的名称  最后的点表示dockerfile文件所在的目录
docker build -t='jdk1.8' .

服务构建的最终结果。
在这里插入图片描述在这里插入图片描述

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值