docker Ubuntu实战

目录

Ubuntu系统环境说明

一、如何安装docker

二、发布.netcore应用到docker中


Ubuntu系统环境说明

bash 复制代码
 cat /etc/os-release

PRETTY_NAME="Ubuntu 22.04.5 LTS"

NAME="Ubuntu"

VERSION_ID="22.04"

VERSION="22.04.5 LTS (Jammy Jellyfish)"

VERSION_CODENAME=jammy

ID=ubuntu

ID_LIKE=debian

HOME_URL="https://www.ubuntu.com/"

SUPPORT_URL="https://help.ubuntu.com/"

BUG_REPORT_URL="https://bugs.launchpad.net/ubuntu/"

PRIVACY_POLICY_URL="https://www.ubuntu.com/legal/terms-and-policies/privacy-policy"

UBUNTU_CODENAME=jammy

一、如何安装docker

docker下载地址,本次安装没有用上:

Index of linux/ubuntu/dists/jammy/pool/stable/

bash 复制代码
在安装 Docker 之前,建议先更新系统的软件包。
sudo apt update
sudo apt upgrade -y

安装一些 Docker 需要的依赖库,如 apt-transport-https、ca-certificates 和 curl
sudo apt install -y apt-transport-https ca-certificates curl software-properties-common

添加 Docker 的 GPG 密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

运行以下命令,查看 Docker 软件源是否已正确添加:
cat /etc/apt/sources.list.d/docker.list
正确输出示例
deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu jammy stable

运行以下命令检查系统架构,知道架构才知道下载哪个包手动安装:
dpkg --print-architecture
bash 复制代码
上面白折腾了,最后我只用一句命令,就安装成功了:
apt install docker.io

docker --version
Docker version 24.0.7, build 24.0.7-0ubuntu2~22.04.1

二、发布.netcore应用到docker中

项目右键添加Docker支持

容器OS我这里只能看到Linux

默认生成的dockerfile需要精简成下面这样:

部署到docker,也是必须得编译:

发布包含Docker文件的项目

精简后的Dockerfile

bash 复制代码
# 请参阅 https://aka.ms/customizecontainer 以了解如何自定义调试容器,以及 Visual Studio 如何使用此 Dockerfile 生成映像以更快地进行调试。

# 此阶段用于在快速模式(默认为调试配置)下从 VS 运行时
FROM mcr.microsoft.com/dotnet/aspnet:8.0 AS base
WORKDIR /app
EXPOSE 8080

COPY . /app
ENTRYPOINT ["dotnet", "micro-task-api.dll"]
bash 复制代码
#执行docker镜像生成命令
docker build -t abc:1.0 /opt/dockertest/micro-task-api

docker可以运行起来了:

bash 复制代码
#根据ID删除镜像
docker rmi 591a25064268
bash 复制代码
#根据容器ID删除容器
docker rm 1501969d0152
相关推荐
2601_961845422 分钟前
法考真题及答案解析|历年真题|资料已整理
linux·windows·ubuntu·macos·centos·gnu
AOwhisky18 分钟前
Redis 学习笔记(第一期):概述、安装配置与核心理论
运维·数据库·redis·笔记·学习·云计算
ytttr87326 分钟前
C# 定时数据库备份工具
开发语言·数据库·c#
睡不醒男孩03082337 分钟前
自建 Prometheus+Grafana 与 CLUP 深度监控 PG 集群有什么区别?
数据库·oracle
AOwhisky1 小时前
Redis 学习笔记(第四期):高可用与集群(哨兵 + Cluster + 容器化)
linux·运维·数据库·redis·笔记·学习·缓存
猫猫聚会Ing1 小时前
数据库设计 Prompt 提示词 - 构建与迭代
数据库
上海云盾-小余1 小时前
源站隐藏实战:规避裸 IP 被直接攻击的完整方案
数据库·网络协议·tcp/ip
qq_185198691 小时前
Docker 历史版本
docker
m0_738120721 小时前
渗透测试基础——基于Docker的Rsync服务靶场搭建与原理讲解
运维·服务器·网络·安全·web安全·docker·容器
微学AI2 小时前
时序大模型 TimechoAI 赋能工业时序数据底层技术优势与实操
数据库·大模型·时序大模型