Linux下Docker容器安装与使用

时间:2021-03-01 06:01:36

注:作者使用的环境是CentOS 7,64位,使用yum源安装。

一、Docker容器的安装

1、查看操作系统及内核版本,CentOS 7安装docker要求系统为64位、系统内核版本为 3.10及以上,使用uname -r命令;

Linux下Docker容器安装与使用

2、查看是否已安装docker容器列表,使用yum list installed | grep docker命令,作者的上面已经安装docker,没安装docker 的系统下面三行不会出现;

Linux下Docker容器安装与使用

3、安装docker,使用yum -y install docker;

4、启动docker,使用systemctl start docker;

5、设置开机启动,使用systemctl enable docker;

6、查看docker 状态,使用systemctl status docker,running说明启动成功;

Linux下Docker容器安装与使用

二、Docker镜像下载及安装

因为安装完docker后在默认情况下去搜索、下载镜像都会比较慢,一般都会配置镜像加速器,这边作者建议使用阿里云的镜像加速,一直再用,速度比较快,也很稳定,镜像加速地址,自行百度。下面是作者配置的加速器。

进去/etc/docker目录,修改daemon.json文件,该文件默认是空的,首行添加加速器地址,配置完之后需要重新启动docker,systemctl restart docker,重启成功后进去下载安装步骤。

Linux下Docker容器安装与使用

1、搜索要下载的镜像,使用docker search 镜像名;

Linux下Docker容器安装与使用

这里边列出的都是latest 版本,也就是默认版本,如果要下载其他版本,请自行到https://hub.docker.com搜索需要下载的版本;

2、下载镜像到本地,使用docker pull mysql,这种情况会默认下载latest版本,若要下载其他版本镜像名后面加版本号,docker pull mysql:5.7;

3、查看已下载镜像列表,使用docker images;

Linux下Docker容器安装与使用

4、删除本地已下载镜像,使用docker rmi image_id;

5、安装镜像,使用docker run --name MyContainerName image-name:tag

在安装镜像之前,有下面几个参数先理解:

-p 本地端口:容器端口:表示本地端口和容器端口之间的映射,-p 80:80,代表本地端口80映射到容器端口80,

-d:代表容器后台运行

-v 本地文件夹/文件:容器文件夹/文件:表示本地文件夹或文件和容器文件夹或文件直接的映射,-v /home/logs/:/var/log/nginx/,代表本地文件夹logs映射到容器的nginx文件夹,

安装Nginx:

docker run --name nginx01

-p 80:80 -d

-v /usr/local/docker/nginx/nginx.conf:/etc/nginx/nginx.conf

-v /usr/local/docker/nginx/html/:/etc/nginx/html/

-v /usr/local/docker/nginx/log/:/var/log/nginx/ --privileged nginx

安装Tomcat:

docker run --name tomcat01

-p 8080:8080 -d

-v /home/logs:/home/logs

-v /home/war/:/usr/local/docker/webapps/ tomcat

安装mysql:

docker run --name mysql01 -p 3306:3306 -d

-e MYSQL_ROOT_PASSWORD=123456  mysql

安装redis:

docker run --name redis01

-p 6379:6379 -d

-v /usr/local/docker/redis.conf:/etc/redis/redis.conf

-v /usr/local/docker/data:/data

redis redis-server /etc/redis/redis.conf

6、启动容器,使用docker start MyContainerName;

启动Nginx:docker start nginx01;

启动Tomcat:docker start tomcat01;

启动Mysql:docker start mysql01;

启动Redis:docker start redis01;

启动完成后,浏览器输入ip:8080(该端口应该写映射到容器的本地端口)验证tomcat是否正常启动;

7、停止容器,使用docker stop MyContainerName;

8、删除容器,使用docker rm MyContainerName;