Docker 技术笔记

注意:主要参考来源

https://www.runoob.com/docker/docker-tutorial.html

一Docker的基础介绍

Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,容器是完全使用沙箱机制,容器性能开销极低

分析:docker的内存使用基本是里面部署的应用内存使用。主要便于应用隔离,发布,复制

安装docker之后,实际上部署项目的步骤不改变(该怎么上传war包就怎么上传),改变的是启动关闭的命令

根据Dockerfile文件创建多个容器

 

 

 

二Docker的安装部署

Docker 支持以下的 64 位 CentOS 版本:

CentOS 7

CentOS 8

更高版本...

 

查看本地是否安装

docker –version

卸载旧版本

$ sudo yum remove docker \

                  docker-client \

                  docker-client-latest \

                  docker-common \

                  docker-latest \

                  docker-latest-logrotate \

                  docker-logrotate \

                  docker-engine

首次安装 Docker Engine-Community 之前,需要设置 Docker 仓库

sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

$ sudo yum install docker-ce docker-ce-cli containerd.io

要安装特定版本的 Docker Engine-Community,请在存储库中列出可用版本,然后选择并安装:

1、列出并排序您存储库中可用的版本。此示例按版本号(从高到低)对结果进行排序。

yum list docker-ce --showduplicates | sort -r

docker-ce.x86_64  3:18.09.1-3.el7                     docker-ce-stable
docker-ce.x86_64  3:18.09.0-3.el7                     docker-ce-stable
docker-ce.x86_64  18.06.1.ce-3.el7                    docker-ce-stable
docker-ce.x86_64  18.06.0.ce-3.el7                    docker-ce-stable

2、通过其完整的软件包名称安装特定版本,该软件包名称是软件包名称(docker-ce)加上版本字符串(第二列),从第一个冒号(:)一直到第一个连字符,并用连字符(-)分隔。例如:docker-ce-18.09.1。

$ sudo yum install docker-ce-<VERSION_STRING> docker-ce-cli-<VERSION_STRING> containerd.io

 

启动 Docker

$ sudo systemctl start docker

通过运行 hello-world 映像来验证是否正确安装了 Docker Engine-Community

$ sudo docker run hello-world

Docker 镜像加速

国内从 DockerHub 拉取镜像有时会遇到困难,此时可以配置镜像加速器。Docker 官方和国内很多云服务商都提供了国内加速器服务,例如:

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

阿里云:https://<你的ID>.mirror.aliyuncs.com

七牛云加速器:https://reg-mirror.qiniu.com

------------------------------

请在 /etc/docker/daemon.json 中写入如下内容(如果文件不存在请新建该文件):

{"registry-mirrors":["https://reg-mirror.qiniu.com/"]}

------------------------------

之后重新启动服务:

$ sudo systemctl daemon-reload

$ sudo systemctl restart docker

------------------------------

三Docker的基本使用

1.通过修改dockerfile文件生成镜像(可以多个)

docker build -t docker1:v1 .

docker build -t docker2 .

-------------------------------

docker:docker命令。

build:编译。

-t:镜像的名字及tag,通常name:tag或者name格式;可以在一次构建中为一个镜像设置多个tag,参考docker build命令详解。

Docker1:生成镜像的名称。

v1:生成镜像的版本号。

.:点符号“.”表示的意思是,指定镜像构建过程中的上下文环境的目录

------------------------------

2.运行容器,并把容器的8080端口映射到宿主机器的8090端口上

docker run -d -p 8090:8080 docker1:v1

docker run -d -p 8090:8080 docker2

docker run -d --name tomcat1 -p 8081:8080 docker1:v1

 

docker start :启动一个或多个已经被停止的容器

docker stop :停止一个运行中的容器

docker restart :重启容器

------------------------------

使用docker stop $CONTAINER_ID来终止一个运行中的容器

docker ps # 查看真正运行的容器

docker start xxx(容器id)

docker attach xxx(进入容器) 使用这种方法,退出容器后容器会停止运行

docker exec -it xxx/bin/bash  这种方式进入容器,退出容器会正常运行

------------------------------

四Dockerfile文件例子

 

FROM centos

MAINTAINER abc

ADD ./apache-tomcat-7.0.88.tar.gz /root

ADD ./jdk-7u80-linux-x64.tar.gz /root

ENV JAVA_HOME /root/jdk1.7.0_80

ENV PATH $JAVA_HOME/bin:$PATH

ENTRYPOINT /root/apache-tomcat-7.0.88/bin/startup.sh && tail -F /root/apache-tomcat-7.0.88/logs/catalina.out

FROM命令,用法,FROM <image>:<tag>,FROM命令告诉docker我们构建的镜像是以哪个(发行版)镜像为基础的

ENV命令,用法,ENV <key> <value>,ENV命令主要用于设置容器运行时的环境变量

ADD命令,用法,ADD <src> <dest>,ADD主要用于将宿主机中的文件添加到镜像中

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值