信息安全专业知识CTF-Web安全

一文学会Docker使用(更新中)

2020-05-18  本文已影响0人  简言之_

首发地址:我的博客

image

前言

Docker我以前学过,但是太久没用,忘得差不多了。。。这几天准备把写好的Django应用通过Docker部署到服务器,所以重新复习了Docker,于是写了此文,希望对想使用Docker的你有所帮助。

初识Docker

Docker 是一个开源的应用容器引擎,Docker 可以让开发者打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。

Docker 的整个生命周期由三部分组成:镜像(image)+ 容器(container)+ 仓库(repository)

镜像是一个只读的模板,它包括了运行容器所需的数据。镜像可以包含一个完整的 Linux 操作环境,里面仅安装了 Python 或者其他用户需要的程序。

容器是由镜像创建出来的实例,类似虚拟机,里面可以运行特定的应用,并且容器与容器是相互隔离的。

仓库概念与 Git 和 Github 类似,如果你用过它们就非常容易理解。Docker 使用的默认仓库是由官方维护的 Docker hub 公共仓库,从中上传、拉取的操作类似 Git。

安装Docker

$ curl -fsSL get.docker.com -o get-docker.sh
$ sudo sh get-docker.sh --mirror Aliyun

检验Docker是否安装成功

$ docker run hello-world

Unable to find image 'hello-world:latest' locally
......
latest: Pulling from library/hello-world
1b930d010525: Pull complete 
......
Hello from Docker!
This message shows that your installation appears to be working correctly.
......

官方文档

Docker命令

查看本地已有镜像

$ docker images

REPOSITORY      TAG        IMAGE ID           CREATED           SIZE
hello-world     latest     fce289e99eb9       9 months ago      1.84kB

# 镜像名           版本        ID 号             创建时间           大小

查看本地已有的容器

$ docker ps -a

删除镜像

$ docker rmi [images ID]  

删除容器

$ docker container rm [container ID]  

停止容器

$ docker container stop [container ID] 

启动容器

$ docker container start [container ID]  

Dockerfile

Docker 允许通过文本格式的配置文件来构建镜像,默认名称为 Dockerfile

Docker compose

在线上环境中,通常不会将项目的所有组件放到同一个容器中;更好的做法是把每个独立的功能装进单独的容器,这样方便复用。比如将 Django 代码放到容器A,将 Mysql 数据库放到容器B,以此类推。

因此同一个服务器上有可能会运行着多个容器,如果每次都靠一条条指令去启动,未免也太繁琐了。 Docker-compose 就是解决这个问题的,它用来编排多个容器,将启动容器的命令统一写到 docker-compose.yml 文件中,以后每次启动这一组容器时,只需要 docker-compose up 就可以了。

Ubantu安装Docker compose

官方文档 | 查看最新版本

根据新版本的变化自行调整下面命令中的版本来安装:

# 下载docker-compose
$ sudo curl -L "https://github.com/docker/compose/releases/download/1.25.5/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

# 给docker-compose执行权限
$ chmod +x /usr/local/bin/docker-compose

# 查看docker compose版本,测试是否安装成功
$ docker-compose  version
docker-compose version 1.25.5, build 8a1c60f6

Docker compose命令

启动容器服务

$ docker-compose up

#Ctrl + C 即可停止开发服务器运行

删除容器

停止服务器后实际上容器还存在,只是停止运行了而已,输入下面命令可以删除容器

$ docker-compose down

后台运行容器

$ docker-compose up -d

重新构建镜像

$ docker-compose build

启动和停止已有的容器:

$ docker-compose start
$ docker-compose stop

查看容器日志

$ docker-compose logs
上一篇下一篇

猜你喜欢

热点阅读