Docker安装与初次使用

摘要:
这些天我一直在努力爬行。我偶尔发现一篇帖子,发现Scrapy可以在Docker中运行。太棒了!让我们的春季程序和爬虫程序一起运行,相互补充,然后让我们的网站变得更好[幻想……]好吧,不要胡说,这本来很简单,我们稍后会写另一篇爬虫文章。假设我的Linux环境是centos7docker的内置环境。centos6.5安装命令是首先安装yum utilyuminstall yum-

这几天一直在搞爬虫,偶尔发现一篇帖子发现scrapy可以在Docker里面运行,太好了!正好让我们的spring程序和爬虫相辅相成一起运行,然后让自己的网站变得更好[幻想ing....]

好了,废话不多说了,本来这个就很简单的,一会还要写另一篇爬虫文章。

说一下我的Linux环境是centos7
docker的内置环境是centos6.5

安装命令

首先安装yum-utils

yum install -y yum-utils

然后添加阿里云镜像

yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

最后下载docker-ce

yum install docker-ce

安装完成!

开启开机自启

systemctl start docker

nginx的使用

# 细心的你一定会发现,凡是下载命令一定pull,运行命令一定是run
docker pull nginx #下载nginx
#  -d 后台 -p 指定端口
docker run -d -p 80:80 nginx

访问本机端口 localhost:8080,看到nginx的欢迎界面,安装完成!

tomcat的使用

由于我的项目是jar包格式,所以这里的tomcat只是凑字数的,目的只是看一下怎么样下载镜像和启动

docker pull tomcat
# 以my_tomcat的名称启动
docker run -d -p 8080:8080 --name my_tomcat tomcat

访问本机端口 localhost:8080,看到tomcat的欢迎界面,安装完成!

mysql的使用

这里要说一下由于本人用的是mysql5.6的,而最新的mysql是8.x。我的tomcat会出现连接不上的状况,这是因为8.x的连接算法做出了更改。
所以为了方便,我的服务器下载的是mysql5.6的


docker pull  mysql:5.6

# 这里是密码为xxx的root的mysql开启方法
docker run -d -p 3306:3306 - v /usr/local/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=xxx mysql

下面介绍一下-v 和 -e 的作用,首先你可以想象这些容器启动后都是缓存到一个内存里面{这里只是方便大家理解才说是内存中,大家不要误解},当你关闭之后或者重启里面的数据都会消失。说的高大上一点就是无所做数据持久化,那个-v这个参数就出来了,他是以':'分隔,其实只要记住':',所有参数:左边的都是值得你的物理主机[也就是宿主机],而右边的就是你的容器。上面的意思就是将本层目录下面的data文件夹来存mysql数据表,启动完是这样的。

Docker安装与初次使用第1张

redis的使用

当你的访问量上去的时候,缓存也是必须要上的,不然给数据库的压力是相当的大。

docker pull redis

这里需要说一下,docker的容器运行必须是要有一个前台程序的,不能所有的进程都是守护态。
因为我没有搞懂这个,所以一开始我的redis是一直起来就停止了。

如果对于redis不太了解的话可以看一下这里centos下安装redis

docker常用的命令

看到这里你可能对镜像[image]和容器[container]有了一定的理解,镜像你可以想象成安装包,而容器就是安装包安装完的软件。如果我没有记错的话,一个安装包是可以安装很多此软件的。
同样的容器和镜像也是这样,镜像只能有一个版本的(但是不同版本的可以共存)。而容器就可以启动很多了,只要你的端口不冲突,随便起。

而且docker也有一个特点就是,每一个容器都是一个冲突域[如果你学了计算机网络,那么冲突域一定不陌生]。这个意思就是说,即使你们容器内部端口一样,只要你们的宿主机端口不一致就好。

那么,我们下面开始讲解一下docker的常用命令。

下载镜像

docker run xxx:xxx

查看所有镜像


docker image ls

删除镜像

docker rmi xxx

删除无用镜像

为什么会有这个呢,是因为当你不小心删除了一个有容器且正在运行的镜像的时候,会留下一个名字为的镜像保证当前的容器的正常运行。可是有的时候我们还需要删掉这些来减轻我们的强迫症和空间


docker image prune

启动容器

docker run -d -p xxx:xxx -e xx  -v xx:xx --name xxx

停止容器

docker stop xxx

删除容器

docker rm xxx

查看当前docker进程


docker ps -a

进入容器内部


docker exec -it xxx

免责声明:文章转载自《Docker安装与初次使用》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇来个干货——使用VS2019发布.NET Core程序并部署到IIS的最新教程python 基础 5.1 python 构造器下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

查看RBD镜像的实际大小

本篇内容来自 zphj1987 —— 如何统计 Ceph 的 RBD 真实使用容量 Ceph 的 rbd 一直有个问题就是无法清楚的知道这个分配的空间里面到底使用了多少,使用 rbd info 命令查询出来的容量是预分配的总容量而非实际使用容量。在 Jewel 版中提供了一个新的接口去查询,对于老版本来说可能同样有这个需求,本篇将详细介绍如何解决这个问题。...

Docker服务器的图形显示方案

问题描述:一般docker实操时都是作为服务器,以字符方式交互,非常不方便。本人尝试各种图形解决方案,最终找到完美方案。 最初本人尝试过VNC和SSH方式,最终被否定了。1, 本来docker服务器是很小的,但下载了VNC  SSHD服务器和全套的窗口管理器后变得很大。2,在docker服务器中运行窗口管理器违背了作了服务器要求简单的初衷。3, 存在不完全...

Java 8 终于支持 Docker!

Java 8曾经与Docker无法很好地兼容性,现在问题已消失。 请注意:我在本文中使用采用GNU GPL v2许可证的OpenJDK官方docker映像。在Oracle Java SE中,这里描述的docker支持功能在更新191中引入。Oracle在2019年4月更改了Java 8更新的许可证,自Java SE 8 Update 211以来商业使用不再...

4.docker学习之镜像

镜像我们知道,我们想在Windows操作系统上跑Linux,需要安装一个虚拟机程序,然后下载一个Linux镜像,在该虚拟机程序中创建一个虚拟机,并使用该镜像安装对应的Linux操作系统,安装好之后,即可在Windows系统下跑虚拟机中的Linux系统。此时,我们发现,这里所说的镜像,类似于操作系统的安装包,这里所提到的镜像中包含了对应的操作系统。这是传统镜...

使用docker的kms服务器激活office2016专业增强版

我安装了office2016专业增强版,使用自己搭建的kms激活服务器无法激活,回来使用了一下脚本: 感谢,rainfarm的博主。博客地址:http://blog.sina.com.cn/s/blog_638333100102wxcq.html @ECHO OFF&PUSHD %~DP0 setlocal EnableDelayedExpans...

用Flask 实现文件服务器(包含docker版本)

最近有了公司局域网内共享axure原型的需求,所以用Flask开发了一款文件上传/查看工具,记录一下其中的问题和解决方案 这个工具参照了一位大神的uploads工具https://zhuanlan.zhihu.com/p/24429519?refer=flask,保留了其初始架构,之后对功能做了较大的改动 改动后的工具在这里,有需要的同学可以参考: htt...