[服务计算]centos下docker部署

基础操作

升级内核

Linux:Centos7升级内核
在这里插入图片描述

在这里插入图片描述
安装完成后把最新版本内核设为默认内核
在这里插入图片描述

安装docker

cnetos7 安装 docker17.03.2

配置源
在这里插入图片描述

安装最新版本

docker基本操作

检查docker版本

在这里插入图片描述

运行镜像

运行hello world示例。这里我们本地没有hello world的docker,于是docker被拉取下来并部署
在这里插入图片描述
运行ubuntu docker
在这里插入图片描述

显示本地镜像库内容

在这里插入图片描述

获得帮助

在这里插入图片描述

显示容器

在这里插入图片描述
上面是显示运行中的容器,加上-a参数后将显示所有容器,包括已终止的。

继续运行元容器并进入

在这里插入图片描述

拉取MySQL镜像

在这里插入图片描述

构建docker镜像练习

创建一个新文件夹,创建一个dockerfile,并写入以下内容

FROM ubuntu
ENTRYPOINT ["top", "-b"]
CMD ["-c"]

构建镜像
在这里插入图片描述

运行镜像
在这里插入图片描述

MySQL与容器化

启动MySQL服务器:
在这里插入图片描述

运行MySQL客户端
在这里插入图片描述

进行数据库操作
在这里插入图片描述

创建卷并挂载
在这里插入图片描述

自动编排容器

下载docker-compose

$ sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
$ sudo chmod +x /usr/local/bin/docker-compose

在这里插入图片描述

编写stack.yml编排文件
在这里插入图片描述

运行docker-compose -f stack.yml up开始自动部署
在这里插入图片描述

部署成功
在这里插入图片描述

新部署的容器
在这里插入图片描述

docker网络

查看网络
在这里插入图片描述

备制支持ifconfig和ping命令的ubuntu容器
在这里插入图片描述

由容器制作镜像
在这里插入图片描述

创建网络

在这里插入图片描述

连通性检测

两个容器可以互相ping通
u1 ping u2
在这里插入图片描述

u2 ping u1
在这里插入图片描述

断开网络后,二者就不能再连通了
在这里插入图片描述
在这里插入图片描述

实战

在我们的项目中,运行的代码被分配到三个docker中:静态文件服务器,后端服务器,数据库服务器。

  • 静态文件服务器:负责前端网页部分的传输
  • 后端服务器:处理查询请求
  • 数据库服务器:保存后端数据

创建静态文件服务器docker

dockerfile文件

FROM node:8

# Create app directory
RUN mkdir -p /home/swapi
WORKDIR /home/swapi

# Bundle app source
COPY . /home/swapi
RUN npm install

EXPOSE 8888
# CMD [ "npm", "start" ]
CMD ["node", "bin/index.js", "8888", "http://192.168.134.129:8080"]

这个容器是一个继承自node:8的容器,然后在容器内创建一个/home/swapi的文件夹,并把工作区转移到这里。接下来,我们使用COPY命令把前端文件从本机拷贝到docker内。
这些安装工作完成后,EXPOSE 8888命令把容器的8888对外暴露出来,提供访问服务。最后一句CMD语句的作用是在docker内运行一个node服务器,提供静态文件服务器。

创建后端服务器docker

# Use an official Golang runtime as a parent image
FROM golang:latest

# Make the working directory
RUN mkdir -p go/src/server

# Set the working directory to /go/src/server
WORKDIR /go/src/server

# Copy the current directory contents into the container at /go/src/server
COPY . /go/src/server

# Get all packets and install
RUN go get -u -v 
RUN go install -v

# Make port 8080 available to the world outside this container
EXPOSE 8080

CMD server run

后端的部署与静态文件部署类似,但有一点不同的是,静态文件服务器继承的是node容器,后端容器继承的是golang的容器。布置的过程类似,同样是按照新建文件夹,复制文件,构建文件,暴露端口,运行服务器的顺序进行。
部署过程:
在这里插入图片描述

创建数据库docker

FROM mysql:5.7.21

#设置登录密码
ENV MYSQL_ROOT_PASSWORD 123456
#定义工作目录
ENV WORK_PATH /opt/starWar
#定义会被容器自动执行的目录
ENV AUTO_RUN_DIR /docker-entrypoint-initdb.d

# 创建文件夹
RUN mkdir -p $WORK_PATH

#将所需文件放到容器中
COPY starWar.sql $WORK_PATH/
COPY setup.sh $AUTO_RUN_DIR/

#给执行文件增加可执行权限
RUN bash $AUTO_RUN_DIR/setup.sh

数据库docker的部署比前面两个稍微复制一些。数据库docker使用的是MySQL数据库,其中部署的时候需要配置一些环境参数,如MySQL登陆密码,WORK_PATH目录等。最后运行一个setup的脚本文件开启MySQL服务器。
setup.sh文件如下

mysql -uroot -p$MYSQL_ROOT_PASSWORD &
source $WORK_PATH/starWar.sql;
service start mysql

自动编排docker

在这里插入图片描述

部署结果

制备好上面三个部分的docker
在这里插入图片描述
服务都已开启
在这里插入图片描述

在外部访问网页
在这里插入图片描述
进行api查询
在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: Docker 是一个开源的容器引擎,能够轻松地将应用程序打包成容器,并在多个平台上运行。这使得开发人员能够快速部署和测试应用程序,而无需考虑底层环境的差异。 要在计算机上安装 Docker,您需要先安装 Docker Engine。Docker Engine 是 Docker 的核心组件,用于管理容器的生命周期和执行容器内的应用程序。 Docker Engine 的安装过程会因操作系统不同而有所差异。通常,可以使用软件包管理器或官方 Docker 仓库来安装 Docker Engine。 例如,在 Ubuntu 上,您可以使用以下命令安装 Docker Engine: ```bash sudo apt-get update sudo apt-get install docker-ce ``` 在 CentOS 上,您可以使用以下命令安装 Docker Engine: ```bash sudo yum update sudo yum install docker-ce ``` 安装完成后,可以使用以下命令启动 Docker Engine: ```bash sudo service docker start ``` 安装和启动 Docker Engine 后,就可以使用 Docker 命令行工具来管理容器了。例如,可以使用以下命令拉取一个预先打包的应用程序镜像: ```bash docker pull ubuntu ``` 然后,可以使用以下命令在容器中运行应用程序: ```bash docker run -it ubuntu bash ``` 这样,您就可以在计算机上安装并使用 Docker 运行容 ### 回答2: Docker是一个开源的应用容器引擎,能够将应用以及其所需的依赖包等打包成一个独立的容器,使得应用的部署和管理更加便捷。 首先,我们需要在服务器上安装Docker。通常可以通过以下步骤完成安装: 1. 下载Docker的安装包,可以通过官方网站或者软件源进行下载。 2. 安装Docker,根据安装包类型,可以使用命令行或者图形界面进行安装。 3. 安装完成后,启动Docker服务。 安装完成后,我们可以开始使用Docker进行部署应用。 1. 首先,需要创建一个Docker镜像,镜像是一个可以运行的容器的模板。我们可以使用Dockerfile定义镜像的构建规则,包括基础镜像、依赖包、环境配置等。 2. 在Dockerfile所在的目录下,使用命令构建Docker镜像。例如:`docker build -t image_name .` 这将根据Dockerfile文件来构建一个名为`image_name`的镜像。 3. 构建完成后,我们可以使用镜像来创建容器。使用命令`docker run -d --name container_name image_name` 可以在后台运行一个名为`container_name`的容器,该容器是根据镜像`image_name`创建的。 4. 可以使用`docker ps`命令查看当前正在运行的容器。如果需要访问容器内部的应用,可以使用`docker exec -it container_name /bin/bash`命令进入容器的命令行界面。 5. 当不再需要某个容器时,可以使用`docker stop container_name`来停止容器,并使用`docker rm container_name`来删除容器。 可以通过以上步骤来完成Docker的安装和部署,通过使用Docker,我们可以将应用与其依赖环境打包成一个独立的容器,实现快速部署和横向扩展的能力。同时,Docker还提供了一系列的命令和工具,支持容器的管理和监控,使得应用的运维更加便捷和高效。 ### 回答3: Docker 是一种开源的容器化平台,可以帮助我们将应用程序和依赖项打包成一个独立、可移植的容器。它具有轻量、快捷、一致性和可移植性等优点,能够简化应用程序的部署和管理过程。 要安装 Docker,首先需要根据操作系统的不同,选择合适的版本进行下载。在 Linux 系统中,可以通过命令行来安装,例如在 Ubuntu 上,可以执行以下命令: ```shell sudo apt-get update sudo apt-get install docker-ce ``` 安装完成后,我们就可以开始使用 Docker部署应用程序了。 部署应用程序首先需要编写一个 Dockerfile,用于定义容器的构建过程。在 Dockerfile 中,我们可以指定容器所需的操作系统、依赖的软件、环境变量和执行的命令等。 接下来,使用以下命令来构建镜像: ```shell docker build -t myapp . ``` 这将会在当前目录下的 Dockerfile 中构建一个名为 myapp 的镜像。 构建完成后,我们可以使用以下命令来运行容器: ```shell docker run -d -p 8080:80 --name mycontainer myapp ``` 这将会在后台运行一个名为 mycontainer 的容器,并将容器的 80 端口映射到主机的 8080 端口。 此时,我们就可以通过访问 http://localhost:8080 来访问我们的应用程序了。 除了基本的安装和部署外,Docker 还提供了许多其他功能,如容器的网络配置、数据卷的挂载、多个容器的编排等,可以根据具体需求进行使用和配置。 总之,通过 Docker 的安装和部署,我们可以快速、方便地将应用程序打包成容器,并在不同的环境中进行部署和管理,提高了应用程序的可移植性和一致性,简化了运维的工作。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值