基于ubuntu制作一个基础镜像

发布于:2024-10-15 ⋅ 阅读:(92) ⋅ 点赞:(0)

1 制作镜像的步骤

拉取基础镜像

docker pull ubuntu:22.04

基于基础镜像,运行一个容器

docker run -d --rm -it --name  your_ubuntu_name ubuntu:22.04 bash

进入这个容器内部

docker exec -it your_ubuntu_name  bash

2 安装dockerfile屡次失败的pyodbc组件

url 连接

https://learn.microsoft.com/zh-cn/sql/connect/odbc/linux-mac/installing-the-microsoft-odbc-driver-for-sql-server?view=sql-server-ver16&tabs=ubuntu18-install%2Cubuntu17-install%2Cdebian8-install%2Credhat7-13-install%2Crhel7-offline#18
if ! [[ "18.04 20.04 22.04 23.04 24.04" == *"$(lsb_release -rs)"* ]];
then
    echo "Ubuntu $(lsb_release -rs) is not currently supported.";
    exit;
fi

# Add the signature to trust the Microsoft repo
# For Ubuntu versions < 24.04 
curl https://packages.microsoft.com/keys/microsoft.asc | sudo tee /etc/apt/trusted.gpg.d/microsoft.asc
# For Ubuntu versions >= 24.04
curl https://packages.microsoft.com/keys/microsoft.asc | sudo gpg --dearmor -o /usr/share/keyrings/microsoft-prod.gpg

# Add repo to apt sources
curl https://packages.microsoft.com/config/ubuntu/$(lsb_release -rs)/prod.list | sudo tee /etc/apt/sources.list.d/mssql-release.list

# Install the driver
sudo apt-get update
sudo ACCEPT_EULA=Y apt-get install -y msodbcsql18
# optional: for bcp and sqlcmd
sudo ACCEPT_EULA=Y apt-get install -y mssql-tools18
echo 'export PATH="$PATH:/opt/mssql-tools18/bin"' >> ~/.bashrc
source ~/.bashrc
# optional: for unixODBC development headers
sudo apt-get install -y unixodbc-dev

3 安装python

执行命令

# 更新软件包列表
sudo apt update
# 安装依赖项
sudo apt install -y build-essential tk-dev libncurses5-dev libncursesw5-dev libreadline6-dev libdb5.3-dev libgdbm-dev libsqlite3-dev libssl-dev libbz2-dev libexpat1-dev liblzma-dev zlib1g-dev libffi-dev
# 下载 Python 3.11 源码
wget https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tgz
# 或者
curl -O https://www.python.org/ftp/python/3.11.5/Python-3.11.5.tgz
# 解压
tar zxf Python-3.11.5.tgz
# 
cd Python-3.11.5
./configure --enable-optimizations
make -j $(nproc)
sudo make altinstall
# 验证
python3.11 --version
# 设置别名
echo 'alias python3=python3.11' >> ~/.bashrc
echo 'alias pip3=pip3.11' >> ~/.bashrc
source ~/.bashrc

4 将容器打包成镜像

将容器打包成镜像

docker commit [OPTIONS] CONTAINER [REPOSITORY[:TAG]]

docker commit 135a0d19f757 jenkins:1.0 完成后,使用docker images可以看见该镜像

打包镜像

docker save [OPTIONS] IMAGE [IMAGE...],示例:docker save -o my_jenkins.tar jenkins:1.0

示例:docker save -o my_jenkins.tar jenkins:1.0

新服务器载入镜像

docker load [OPTIONS]

-option选项:–input,-i 指定导入的文件
–quiet,-q 精简输出信息
如:docker load --input my_jenkins.tar


网站公告

今日签到

点亮在社区的每一天
去签到