百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 技术文章 > 正文

Docker安装详细步骤及相关环境安装配置

nanshan 2025-01-24 13:14 10 浏览 0 评论

最近自己在虚拟机上搭建一个docker,将项目运行在虚拟机中。

需要提前准备的工具,FinallShell(远程链接工具),VM(虚拟机-配置网络)、CentOS7(Linux操作系统-在虚拟机上安装)

一、在CentOS7基础上安装Docker容器

1.已经安装CentOS7后,打开终端,我这里是切换到了root用户,不然每一个命令都要在前面加上【sudo】



2. 通过前面就知道我是CentOS7,然后官方建议Linux内核在3.10以上【可能】,所以检查当前的内核版本

我这里的版本是3.10,正好满足要求


3.使用root权限对yum包进行更新

yum -y update

注释:以下两个的区分

yum -y update:升级所有包同时也升级软件和系统内核

yum -y upgrade:只升级所有包,不升级软件和系统内核

4.如果之前已经安装过的话,可以在此卸载以前的版本。

yum remove docker docker-common docker-selinux docker-engine

5.注意了,开始安装Docker了,安装需要的软件包,分别为yum-util 提供yum-config-manager功能,另外两个则是devicemapper驱动依赖

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


出现如下图所示,则代表成功安装了需要的软件包


6.设置yum源,我一般使用阿里仓库的,以下有两种推荐


yum-config-manager --add-repo
http://download.docker.com/linux/centos/docker-ce.repo(中央仓库)


yum-config-manager--add-repo

http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo(阿里仓库)

7. 先查看一下有哪些Docker版本。

yum list docker-ce --showduplicates | sort -r

8.选择一个版本进行安装,我这里选择docker-ce-18.03.1.ce,当然可以选择其他版本

yum -y install docker-ce-18.03.1.ce

显示如上图则代表安装成功


9.启动Docker并设置开启自动启动

systemctl start docker 启动Docker

systemctl enable docker 开启开机自启模式


10.显示版本号

结束Docker的安装了

二、在Docker中进行安装Portainer

1.拉取portainer镜像,当然你可以事先搜索一下有哪些Portainer镜像

搜索镜像:docker search portainer

拉取镜像:docker pull portainer/portainer


搜索镜像

拉取镜像


2.查看镜像是否被拉取成功

docker images

3.运行portainer

docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data --name prtainer portainer/portainer

解释:

-d:容器在后台运行;

-p 9000:9000 :宿主机9000端口映射容器中的9000端口(前面的是宿主机端口,后面的是容器端口);

–restart 标志会检查容器的退出代码,并据此来决定是否要重启容器,默认不会重启;

–restart=always:自动重启该容器;

-v
/var/run/docker.sock:/var/run/docker.sock :把宿主机的Docker守护进程(Docker daemon)默认监听的Unix域套接字挂载到容器中;

-v portainer_data:/data :把宿主机portainer_data数据卷挂载到容器/data目录;

–name prtainer-test : 给容器起名为portainer;

4.查看portainer是否在运行

docker ps

5.发现portainer确实已经正在运行,所以我们现在就可以去使用Portainer了,访问地址为:http://虚拟机IP:9000,ip是指你当前虚拟机的ip,首次访问要创建管理员账号和密码(用户名:admin,密码:123456),如下图所示

这就结束了Docker安装Portainer了。

三、在Docker中安装MySQL

1、在系统中可能存在mysql的安装包,所以停止和删除相关容器:使用以下命令停止和删除使用该MySQL镜像的容器:

docker stop mysql-container # MySQL镜像的容器名称

docker rm mysql-container # MySQL镜像的容器名称

"mysql-container"为MySQL镜像的容器名称。

2、可能删除出现问题,采用强制删除MySQL镜像:使用以下命令强制删除MySQL镜像:

docker rmi -f mysql:latest

3、这将强制删除名为"mysql:latest"的MySQL镜像。

4、当删除完成之后,重新拉取MySQL镜像:

docker pull mysql:latest

5、重新运行MySQL容器:在删除容器和镜像后,重新运行MySQL容器:

docker run --name mysql-container -e MYSQL_ROOT_PASSWORD=123456 -p 3306:3306 -d mysql

6、运行完成之后,检验是否安装成功

docker exec -it mysql-container bash #进入mysql容器中

mysql -r -p #输入密码登录

select version(); #查看版本号

Show databases; #查看全部数据库


7、至此数据库MySQL安装完成。

8、为了方便操作数据库,我们使用Navicat,来远程链接虚拟机MySQL。

9、通过SSH方式链接。


10、可以查看到全部的数据库,方便开发使用。

11、通过portainer查看MySQL运行情况


四、Docker安装JDK8,安装Java环境

1、拉取Java镜像(OpenJDK 8):

sudo docker pull openjdk:8-jdk

2、创建一个目录来共享Java安装文件:

sudo mkdir /opt/java

3、运行Java容器并将Java安装文件复制到宿主机的目录中:

sudo docker run --name myjava -v /opt/java:/java -it openjdk:8-jdk bash


4、这将在交互模式下启动一个Java容器,并将其命名为myjava。然后,您可以在容器内执行以下命令将Java安装文件复制到宿主机的/opt/java目录中:

cp -r /usr/lib/jvm/java-8-openjdk /java

5、退出容器:

exit

6、配置Java环境变量:

7、打开/etc/profile文件:

sudo vi /etc/profile

8、在文件末尾添加以下行:

export JAVA_HOME=/opt/java/java-8-openjdkexport PATH=$PATH:$JAVA_HOME/bin

9、保存并关闭文件。

10让环境变量生效:

source /etc/profile

11、验证Java是否正确安装:

java -version

12、Java正确安装,可以看到JDK 8的版本信息。

13、可以通过portainer查看jdk是否在运行

五、Docker安装redis(缓存)

1、拉取Redis镜像并运行容器:

拉取Redis镜像:

sudo docker pull redis

运行Redis容器:

sudo docker run -d --name myredis -p 6379:6379 redis

2、这将在后台运行一个名为myredis的Redis容器,并将容器内的6379端口映射到主机的6379端口。

验证Redis是否正确安装:

使用Redis客户端连接到Redis容器:

sudo docker exec -it myredis redis-cli

3、在Redis命令行中执行一些简单的命令,例如:

4、set mykey "Hello Redis"get mykey

5、能够成功设置和获取键值对,则表示Redis已正确安装并运行。

6、可以在portainer查看redis是否在运行

准备工作(项目运行所需要的环境已经部署完成)。

六、项目部署所需

1、需要C和C++的环境

1、在docker中下载环境并部署

yum install gcc

yum install gcc-c++

2、输入命令检查是否安装成功

gcc --version

g++ --version

3、C和C++的环境安装成功!

2、需要Nginx反向代理

1、docker pull nginx

2、docker run -d -p 80:80 --name mynginx nginx

3、打开浏览器输入localhost:8080,可以出现默认nginx的页面,表示安装成功。

相关推荐

Linux 的磁盘系统,和你了解的Windows差别很大

我的C盘去哪了?一个系统,如果没有存储,那么也就不能称之为系统。存储性是一个完整系统的重要组成部分。例如AWS最开始的服务就是S3(用来存储数据的云服务),足以见得存储对于一个应用平台是多么的重要。...

一文读懂 Linux 硬盘挂载:从问题到解决方案

各位互联网大厂的后端开发伙伴们!在咱们日常工作中,操作Linux系统是常有的事儿吧。你们有没有遇到过这样的场景:新添加了一块硬盘,满心欢喜准备用来存储重要数据或者部署新的应用服务,却突然发现不知道...

硬盘分区(硬盘分区格式)

 磁盘(硬盘)分区,可以分C、D、E等分区,大家可能都会用,会根据自已的需要确定所需的空间,但分区是如何工作的呢,内容如下。Windows中有3类:MBR分区:MasterBootRecord,也...

parted命令工具分区介绍(particle命令)

linux系统磁盘分区通常可以使用fdisk和parted命令,当分区大小小于2TB的时候,两种皆可以使用,当分区大于2TB的话,就需要用parted分区。以下介绍parted命令相关使用,以sdb为...

Linux 服务器上查看磁盘类型的方法

方法1:使用lsblk命令lsblk输出说明:TYPE列显示设备类型,如disk(物理磁盘)、part(分区)、rom(只读存储)等。NAME列显示设备名称(如sda、nvme0n1)。TR...

Linux分区命令fdisk和parted使用介绍

摘要:一般情况下,Linux分区都是选择fdisk工具,要求硬盘格式为MBR格式,能支持的最大分区空间为2T。但是目前在实际生产环境中使用的磁盘空间越来越大,呈TB级别增长;而常用的fdisk这个工具...

linux 分区原理与名词解释(linux操作系统中的分区类型)

分区的意义将磁盘分成几份,每份挂在到文件系统的那个目录在linux里的文件系统Ext2:早期的格式,不支持日志功能Ext3:ext2改良版,增加了日志功能,是最基本且最常用的使用格式了Ext4:针对e...

linux 分区合并(linux合理分区)

查看虚拟机当前磁盘挂载情况fdisk-l选择磁盘fdisk/dev/sda查看磁盘分区情况p重新选择分区n选择主分区p保存w创建物理卷pvcreate/dev/sda3查看物理卷信息pvdi...

如何在 Linux 系统中永久禁用交换分区 ?

Linux操作系统中的交换分区或交换文件充当硬盘上的临时存储区域,当物理内存(RAM)满时,系统使用该存储区域。它用于交换较少使用的内存页,这样系统就不会因为运行应用程序而耗尽物理内存。随着技术的发...

Linux 如何知道硬盘已用多少空间、未用多少空间

刚出社会时,去了一家公司上班,老板为了省钱,买的服务器是低配的,硬盘大小只有40G,有一次网站突然不能访问了,排查半天才知道原来服务器的硬盘空间已用完,已无可用空间。第一步是查看硬盘的使用情况,第二步...

用Linux系统管理磁盘空间 就该这么来

要想充分有效的管理使用Linux系统中的存储空间,用户必须要做的就是双管齐下,一边扩充空间一边限制空间。不得不说的就是很多时候磁盘空间就像水资源,需节制水流。说到要如何实现限制空间就离不开使用LVM技...

Windows 11 磁盘怎么分区?(windows11磁盘怎么分区)

Windows11磁盘分区技术解析与操作指南:构建高效存储体系一、磁盘分区的技术本质与系统价值磁盘分区作为存储系统的基础架构,通过逻辑划分实现数据隔离与管理优化。Windows11采用NTF...

linux上创建多个文件分区,格式化为 ext2、ext3、ext4、XFS 文件

以下是在Linux系统上创建多个20GB文件分区并格式化为不同文件系统的分步指南:步骤1:创建基础文件(4个20GB文件)bash#创建4个20GB稀疏文件(实际占用空间随写入量增长)ddif=/...

救命的U盘低格哪家最强?(低格优盘)

周二时有位童鞋留言说U盘之前做过引导盘,现在格式化不了,用各种工具都不行,而且因为U盘厂商的关系,查不到U盘主控,无法量产恢复,特来求助。小编花了点时间特意弄坏一个U盘分区,终于试出方法了,特来分享一...

Linux 查看硬件磁盘存储大小和磁盘阵列(RAID)的组合方式

一、查看硬件磁盘存储大小查看所有磁盘信息:#lsblk该命令会列出所有磁盘(如/dev/sda、/dev/nvme0n1)及其分区和挂载点。查看磁盘总容量:fdisk-l#或parted-...

取消回复欢迎 发表评论: