Docker学习入门

2020-01-12  本文已影响0人  非典型_程序员

最近项目的技术选型已经确定下来了,但是关于Dockerk8s自己了解的比较少,所以准备学习一下它们的使用。我觉得这些技术虽然也是比较重要的,但是要深入的话,自己感觉也没有太大的必要。作为开发来讲我觉得能够使用就行,当然,现在很多时候开发也是运维。不管学习什么技术,我觉得更多还是看个人的意愿,知识这么多不可能什么都去学,我觉得一看兴趣,二看需求。
今天的主要目的就是学习Docker的简单使用,关于Docker这里就不再做介绍了,相信大家多多少少对它都有一定的了解,如果想了解更多,那么我建议上官网学习。

一、安装

我的试用的云服务器操作系统是Centos 7,所以按照Centos安装教程就好了,

1、卸载旧版本的Docker

命令如下:

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
2、使用仓库安装

我选择使用仓库进行安装,在这之前需要先设置仓库,命令如下:

##1、安装需要的包
sudo yum install -y yum-utils \
device-mapper-persistent-data \
  lvm2
## 2、设置稳定仓库
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo  

这个仓库也可以设置成国内的仓库,比如阿里云仓库:
https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、安装 Docker Engine-Community

命令如下:

sudo yum install docker-ce docker-ce-cli containerd.io
4、启动Dokcer
 sudo systemctl start docker

通过运行hello-world镜像验证Dokcer是否安装成功

sudo docker run hello-world

成功运行,如下图

图-1.png
说明Docker安装成功。

二、制作自己的镜像

Docker仓库其实有很多常用的镜像,比如RediselasticsearchNginx等等,但是更多的时候我们需要使用自己的镜像,下面我们就自己制作一个镜像。制作Docker镜像的方法有多种,但是一般建议采用Dockerfile的方式,下面我们也使用该方式创建。
我先创建一个简单的spring boot项目,这个项目只提供一个简单的接口供外面访问。然后在目录下创建一个Dockerfile文件,内容如下:

FROM java:8
ENV TIME_ZONE=Aisa/Shanghai
VOLUME /tmp
ADD demo-0.0.1-SNAPSHOT.jar app.jar
RUN bash -c 'touch /app.jar'
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]

然后将项目jar包和Dockerfile上传到服务器,进入到服务器指定目录下,构建我们的镜像文件:

docker build -t docker-demo:v1  .

然后看控制台输出如下:


图-2.png

然后查看下所有镜像文件:

docker images

根据下图看到我们制作的镜像docker-demo已经成功了。

图-3.png

三、启动容器

根据上面制作的镜像启动一个容器,并通过外网访问接口。启动之前我们先看下当前的容器

docker ps -a
图-3.png

启动容器:

docker run -p 9090:11000 --name docker-demo  docker-demo:v1
图-4.png
根据输出我们可以看出spring boot项目已经成功启动了,服务端口号是11000。当然我们映射服务器的端口是9090,浏览器访问下项目的接口,浏览器输入106.54.249.247:9090/docker/hello,结果如下:
图-5.png
返回的结果也是正常的,说明根据自定义镜像启动容器成功了。

四、总结

不管是安装、制作镜像还是启动容器,其实都不难,当然这次也只是一个简单的入门。我觉得这里比较重要的是Dockerfile,毕竟构建镜像就是靠Dockerfile完成的,另外Docker的常用命令也需要我们去掌握,这部分我建议大家看下菜鸟教程,总结是还是非常好的。Dockerfile文件相关部分建议看下官方的资料Build a Docker Image

上一篇 下一篇

猜你喜欢

热点阅读