ubantu安装docker以及docker-compose

ubantu安装docker以及docker-compose

安装docker

环境:Ubuntu23.04

1、从官方存储库中安装Docker

复制代码
sudo apt update
sudo apt install docker.io

2、启动Docker服务

复制代码
sudo systemctl start docker

#使用以下命令设置Docker服务在系统启动时自动启动:
sudo systemctl enable docker

3、验证

使用以下命令验证Docker是否正确安装:

复制代码
docker --version

如果安装正确,将显示Docker的版本信息。

4、测试docker运行使用

拉取镜像

复制代码
sudo docker pull hello-world

运行镜像

复制代码
sudo docker run hello-world

如下输出则说明docker运行正常:

复制代码
尝试搜索镜像:	sudo docker search hello-world
拉取测试镜像:	docker pull hello-world
查看镜像:		sudo docker images
run启动镜像: 	sudo docker run hello-world

5、使用

我们的应用程序需要部署在一个具有特定软件版本的环境中。我们可以使用Docker来创建一个包含这些特定软件版本的容器,并在其中运行我们的应用程序。

首先,在项目目录中创建一个名为Dockerfile的文件,并使用以下内容填充它:

复制代码
FROM ubuntu:23.04

# 安装所需软件版本
RUN apt update && apt install -y <software-package>

# 拷贝应用程序到容器
COPY /path/to/your/application /app

# 设置工作目录
WORKDIR /app

# 执行应用程序
CMD ["./your-application"]

在上面的Dockerfile中,我们使用FROM指令选择了基础镜像,这里选择的是Ubuntu 23.04版本。然后,我们使用RUN指令安装了我们所需的特定软件版本。接下来,使用COPY指令将我们的应用程序拷贝到容器中,并使用WORKDIR指令设置工作目录。最后,使用CMD指令执行应用程序。

接下来,打开终端并在项目目录中执行以下命令来构建Docker镜像:

复制代码
docker build -t my-app-image .

这将根据当前目录中的Dockerfile构建一个名为my-app-image的镜像。

最后,使用以下命令来运行我们的应用程序:

复制代码
docker run -it my-app-image

现在,我们的应用程序在一个具有特定软件版本的Docker容器中成功运行。

安装docker compose

安装 Docker Compose 需要先安装 Docker,因为 Docker Compose 是基于 Docker 引擎构建的。安装完成 Docker 后,可以使用以下命令下载最新版本的 Docker Compose:

复制代码
# 安装curl
sudo apt install curl
# 安装Docker Compose
sudo curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

下载完成后,需要添加执行权限:

复制代码
sudo chmod +x /usr/local/bin/docker-compose

验证 Docker Compose 是否安装成功,可以运行以下命令:

复制代码
docker-compose --version

使用docker部署服务

1、需要再opt文件夹下创建以下文件夹,/opt文件夹目录说明

/opt/compose:docker容器编排文件及jar包文件夹

/opt/config:服务读取的config.xml配置文件

/opt/data:存储服务内的生成的文件

/opt/log:admin服务的log日志

/opt/package:部署的服务安装包

2、可将已备份对应文件夹拷至对应文件夹下

文件见:板卡所备份出的文件及文件夹

3、在/opt/compose目录下执行命令,创建镜像,启动容器

sudo docker-compose -f docker-compose.yml up -d

4、完毕后以下命令查看容器启动情况

sudo docker ps

5、使用以下命令查看服务log日志

复制代码
sudo docker logs <容器id>

设置docker自启动

1、设置docker开机启动

复制代码
sudo systemctl enable docker.service

2、配置rc.local

在文件末尾添加以下内容:

复制代码
编辑 rc-local.service 文件,赋予修改权限
sudo chmod 777 /lib/systemd/system/rc-local.service 
sudo vim /lib/systemd/system/rc-local.service

3、rc-local.service 服务开机启动:

复制代码
sudo systemctl enable rc-local.service
sudo systemctl status rc-local.service

4、创建rc.local文件

vim /etc/rc.local

文件内容,对应修改容器id,按下面启动服务顺序修改对应容器id

复制代码
sleep 10s:docker restart <容器id>
sleep 16s:docker restart <容器id>
sleep 16s:docker restart <容器id>
sleep 18s:docker restart <容器id>
sleep 18s:docker restart <容器id>
sleep 18s:docker restart <容器id>
sleep 18s:docker restart <容器id>
sleep 18s:docker restart <容器id>
sleep 18s:docker restart <容器id>
sleep 18s:docker restart <容器id>

这里是重点啦,根据你自己的需求把docker容器id按顺序排列,时间也可以自己定。

相关推荐
F1FJJ13 分钟前
Shield CLI 命令全解析:15 个命令覆盖所有远程访问场景
网络·数据库·网络协议·容器·开源软件
进击切图仔27 分钟前
Docker + tmux + ROS:持久化的机器人开发环境
docker·容器·机器人
小Pawn爷1 小时前
实战演练:玩转k8s
云原生·容器·kubernetes
春日见4 小时前
E2E自驾规控30讲:环境搭建
开发语言·驱动开发·matlab·docker·计算机外设
.生产的驴4 小时前
1Panel实战|SpringColud微服务部署生产环境一键部署Docker+Nacos+MySQL 数据定时备份 控制台 安全高效易维护
服务器·后端·mysql·spring cloud·docker·微服务·信息可视化
Exquisite.5 小时前
Docker容器技术
docker·容器·eureka
ai产品老杨5 小时前
异构计算时代的架构突围:基于 Docker 的 AI 视频平台如何实现 X86/ARM 与 GPU/NPU 全兼容(源码交付)
人工智能·docker·架构
Riemann~~6 小时前
dockerfile解析
docker·dockerfile
Sephiroth.Ma6 小时前
Mac 提示“Docker 已损坏,无法打开”?我这样排查后 10 分钟修好
macos·docker·容器
是店小二呀7 小时前
Docker部署EasyNode+内网穿透:轻松实现服务器远程管理
服务器·docker·容器