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
相关推荐
让学习成为一种生活方式7 分钟前
KMC 3.2.4 安装与使用--生信工具108
数据库
今天AI了吗9 分钟前
从聊天到委派:AI Agent 如何推进长期任务
数据库·人工智能·python·sql·rust
moMo43 分钟前
从“巨轮”到“本地开发”:用 Docker 和 Nginx 解决你的端口焦虑
nginx·docker
—Miss. Z—1 小时前
第11章 故障管理
网络·数据库·oracle
WA内核拾荒者1 小时前
WhatsApp账号运营SOP的可视化编排与流水线监控
大数据·数据库·windows
名字还没想好☜2 小时前
Kubernetes StatefulSet 实战:为什么数据库不能用 Deployment 部署
数据库·云原生·容器·kubernetes·statefulset
地衣君2 小时前
Hermes Docker 容器交互一些技巧
docker·hermes
陈聪.3 小时前
Docker 核心知识整理:从入门到企业级应用
运维·docker·容器
01_ice3 小时前
MySQL事务
数据库·mysql
名字还没想好☜3 小时前
Go 的 database/sql 连接池实战:SetMaxOpenConns 怎么配、连接泄漏怎么查
数据库·sql·golang·go·数据库连接池