文章目录
- 1 制作镜像的步骤
- 2 安装dockerfile屡次失败的pyodbc组件
- 3 安装python
- 4 将容器打包成镜像
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)"* ]];
thenecho "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