欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

Docker安装

程序员文章站 2022-03-21 17:01:20
...

Docker开源的应用容器引擎,可以为任何应用创建一个轻量级的、可移植的、自给自足的容器。
有一个好的比喻:云计算是大货轮,Docker是集装箱

一、Xshell与虚拟机centos建立会话连接

1.打开虚拟机centos ifconfig查看虚拟机的IP地址
2.打开Xshell新建会话
文件->新建->主机栏填写ip地址
名称随便写,勾选连接异常,间隔设置为5秒或其他,点击连接
Docker安装
3.双击建立好的会话,输入用户名和密码,成功后如下图
Docker安装
4.测试centos7能否连接外网
ping www.baidu.com 进行测试
按Ctrl C结束

Docker安装

二、安装gcc和gcc-c++

1.用下列命令安装

yum -y install gcc
yum -y install gcc-c++

如果出现需要输入(y/n)的问题,一路输y

2.用下列命令测试是否安装成功

gcc -v

显示如下即成功
Docker安装

3.使用以下命令安装yum-utils、device-mapper-persistent-data、lvm2依赖

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

安装成功后会出现以下信息
Docker安装
4、设置stable镜像仓库,使用的是阿里云

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

5、更新yum软件包索引

yum makecache fast

Docker安装
6、安装docker-ce
doceker有社区版和企业版,企业版是需要收费的
ce说明是社区版

yum -y install docker-ce

7.启动docker服务,并设置为开机自启动

systemctl start docker
​
systemctl enable docker

使用systemctl status docker查看以下docker的状态是不是active
如果是active,说明docker已正确安装并可以正常启动了

8.查看docker版本

docker version

可以看到docker的版本,go的版本以及git的版本
Docker安装

三、Docker的使用

我们可以通过Docker服务去远程仓库里下载镜像
Docker Hub是一个远程的官方镜像仓库,里面有各种镜像文件
但我们使用Docker服务去该仓库下载速度很慢
所以我们使用国内的阿里云镜像仓库

1.配置阿里云镜像加速
(1)注册阿里云 https://www.aliyun.com/
Docker安装
(2)控制台->菜单->产品与服务->搜索容器镜像服务
Docker安装
(3)点击进入该服务->镜像加速器
(4)按照网页给出的代码在Xshell配置镜像加速器
我们处于root管理员界面,不需要加sudo命令,如果处于普通用户,需要加sudo

sudo mkdir -p /etc/docker片
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://gdewd58d.mirror.aliyuncs.com"]
}
EOF

(5)使用以下命令重启下daemon和docker

sudo systemctl daemon-reload
sudo systemctl restart docker

(6)可以用status 查看以下docker的状态是不是active

systemctl status docker




2.查看docker信息
Xshell 端

docker info

3.搜索镜像(支持模糊查询)

docker search 镜像名称

比如我们搜索centos7的镜像
Docker安装
4.拉取镜像并下载

docker pull 镜像名称

比如我们拉取tomcat的镜像,如果不写版本号,默认会下载最新版
Docker安装
5.查看下载的所有镜像

docker images

Docker安装
IAMGE ID 为镜像ID
6.运行镜像
将镜像文件运行为一个容器,容器里面有一个非常精简的操作系统

docker run -d -p 本地端口:容器端口 镜像ID

-d 是指镜像在后台运行
-p 是指定本机与容器交互的端口
比如tomcat内部是使用8080进行访问的,但使用80:8080映射后,在主机浏览器里输入 主机IP地址:80就可以访问到容器的8080端口
运行完会有一个完整的容器ID
Docker安装
使用docker ps 查看镜像是否运行成功,里面有容器ID的缩写和镜像ID

docker ps

Docker安装
7、进入到容器内部

docker exec -it 容器ID bash

Docker安装
8、退出容器

exit

9、删除镜像
完整的删除镜像只能通过
停止容器->删除容器->删除镜像这个完整的过程

停止容器

docker stop 容器ID

删除容器

docker rm 容器ID

删除镜像

docker rmi 镜像id

四、Docker安装tomcat

1.拉取镜像,运行镜像,进入容器
别粘贴代码 以下所有的ID换为自己的

docker pull tomcat
docker run -d -p 80:8080 4e7840b49fad
docker exec -it 1805e2301363 bash 

2.在主机浏览器访问192.168.180.134(虚拟机IP):80查看tomcat主页,显示如下
Docker安装
这是因为访问了webapps文件,但webapps文件是空的
Docker安装
webapps的原本应有的内容是在webapps.dist里面的
做以下修改
Docker安装
在主机浏览器里刷新刚才的界面,tomcat页面成功显示
Docker安装

五、从主机传文件进容器

1、打开winSCP,将文件从主机传入虚拟机

左边为主机文件,右边为虚拟机文件
将需要的文件直接从左边拉入右边
在虚拟机里创建temp文件夹,存入从主机传入的文件
Docker安装
2.打开Xshell,将文件从虚拟机传入容器
进入到temp目录
pwd 查看temp的完整目录

docker cp /root/temp/EasyBuy.war  容器ID:希望存放文件的路径

Docker安装
文件就传入容器了,传入的压缩包会自动解压缩

这时只部署了项目,项目内时没有内容的,所以我们需要部署一下数据库

六、部署mysql

1.拉取数据库

docker pull mysql:5.7

2.启动mysql镜像
与tomcat的启动稍微有些不同

docker run -itd -p 3306:3306 -e MYSQL_ROOT_PASSWORD=root mysql:5.7

Docker安装
3.进入mysql容器,并登录

docker exec -it 50b5f0edf8b4 bash
mysql -uroot -p

Docker安装
4.将虚拟机里的easybuy.sql文件传入mysql容器

docker cp /root/temp/easybuy.sql 50b5f0edf8b4:/

Docker安装
5.从容器导入mysql数据库
首先需要创建一个数据库

创建数据库easybuy

create databse easybuy;

使用数据库

use easybuy;

导入easybuy.sql

source /easybuy.sql

Docker安装

6.配置MySQL允许远程连接
因为EasyBuy项目跑在tomcat容器里
而数据文件在MySQL容器里
两个容器是相互独立的

use mysql;

授权允许远程连接

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

授权后刷新一下权限

flush privileges;

此时mysql就允许远程连接了