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
相关推荐
Elastic 中国社区官方博客2 小时前
Elasticsearch:使用 Agent Builder 的 A2A 实现 - 开发者的圣诞颂歌
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
2301_816660212 小时前
PHP怎么处理Eloquent Attribute Inference属性推断_Laravel从数据自动推导类型【操作】
jvm·数据库·python
qq_372154233 小时前
Go 中自定义类型与基础类型的显式转换规则详解
jvm·数据库·python
_下雨天.3 小时前
NoSQL之Redis配置与优化
数据库·redis·nosql
LiAo_1996_Y3 小时前
CSS如何实现文字渐变效果_通过background-clip实现艺术字
jvm·数据库·python
2401_887724503 小时前
CSS如何让表单在手机端友好展示_利用Flexbox实现堆叠排版
jvm·数据库·python
数据库小组3 小时前
MySQL 删库后怎么恢复?binlog2sql 之外,NineData 还能做什么
数据库·sql·mysql·安全·数据·ninedata·删库
zhangchaoxies3 小时前
Layui轮播图(carousel)怎么设置自动播放间隔
jvm·数据库·python
AI服务老曹4 小时前
异构计算时代的安防底座:基于 Docker 的 X86/ARM 双模部署与 NPU 资源池化实战
arm开发·docker·容器
切糕师学AI4 小时前
HBase:一文搞懂分布式宽列数据库(原理 + 架构 + 实战)
数据库·分布式·nosql·hbase·分布式宽列数据库·wide column db