马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?立即注册
×
本文记录从零拉一个 ubuntu 镜像、起容器、补齐常用工具、再到把容器内 Python 环境整体迁移到另一台机器的完整过程,Docker 常用参数也顺带讲清楚。
一、拉取 ubuntu 镜像
1. 搜索与拉取
docker search ubuntu # 搜索 ubuntu 镜像
docker pull ubuntu:16.04 # 带版本拉取
其中 OFFICIAL 为 OK 的代表为官方镜像,安全系数高一些;下面那些带其他环境的镜像可以按需拉取。
docker pull ubuntu # 拉取最新的(不写 tag 默认 latest)
docker images # 下载完成后查看已下载镜像
二、根据镜像创建容器
docker run --name my_container -dit my_image:tag /bin/bash
各参数含义:
--name:加上此参数可指定生成容器的名称,此参数位置在镜像名前面。
my_container:指定的容器名字。
-d:后台运行(detached)。
-i:打开控制台交互(不设置此选项,退出容器后 docker 会自动清理未活动的容器)。
-t:支持终端登录,与 -i 合起来就是常用的 -it。
my_image:tag:要使用的镜像名称和标签。不喜欢打这么多字的可以用 id 代替。
/bin/bash:表示要在容器内启动 Bash Shell 进行交互。
三、进容器后补齐工具
拉下来的镜像是基础镜像(纯 ubuntu 内核环境),很干净,需要额外装很多工具:
sudo apt update # 老规矩先更新
sudo apt install iputils-ping # ping 工具
sudo apt install net-tools # 软件包其中包括 ifconfig
sudo apt install vim # vim 编辑器
sudo apt install openssh-client # ssh 连接其他服务器
sudo apt install openssh-server # 其他服务器连接本机 ssh
sudo apt install vsftpd # ftp 服务
装 openssh-server 后记得 service ssh start,容器里不会自动起服务。
四、容器查看与删除
docker ps # 查看正在运行的容器
docker ps -a # 查看所有容器,包括未运行的
docker rm my_container 或容器ID
注意:如果容器正在运行则删除失败,不建议删除正在运行的容器;要先停止再删:
docker stop my_container 或容器ID
五、再次进入容器与退出容器
docker exec -it 容器id或容器名称 /bin/bash
退出容器后不会关闭容器(因为用的是 exec,不是 attach)。退出方式:关闭当前的终端会话并停止容器,输入 exit 并按 Enter,或用 Ctrl + D 快捷键退出容器。
六、Ubuntu 容器迁移 Python 环境(快捷方式)
1. 下载 python
sudo apt update
sudo apt install python3 # python 最新版
sudo apt install python3-pip # pip3
2. 查看版本号
python3 --version
pip3 --version
3. 导出当前 python 安装包清单
# 终端输入
pip freeze > requirements.txt
4. 迁移 requirements.txt 到目标环境(python 环境)并下载
pip install --upgrade pip setuptools # 更新安装工具
# pip3 下载则将第一个 pip 改成 pip3
pip install -r requirements.txt # 下载
# 使用阿里镜像快速下载
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple
注意事项
- 有些包显示安装不了,多半是版本工具太低,需要更新安装工具,即上面代码第一行。
- 重复安装一个包的多版本并失败,建议进入 requirements.txt 删除该包的名字,然后手动下载。
- 大范围显示版本不对或版本获取不到,可以把 requirements.txt 里面的版本号都删了,只留下包名字。
- 个别包提示错误,可以在后面自己手动单独安装解决。
小结
Docker 部分记住三条命令链就够日常用:docker run -dit --name 名字 镜像 /bin/bash 起容器,docker exec -it 名字 /bin/bash 再进去,docker ps -a 看状态、stop 再 rm 才是安全删除。基础镜像进屋先 apt update 再装 iputils-ping、net-tools、vim、openssh-* 这几个,随手就能排查网络。
Python 环境迁移走的是"导出清单 + 目标机还原"的路子:pip freeze > requirements.txt 导出,pip install -r 还原,加 -i 指定国内源能快不少。这条路省事但有前提——目标机的 Python 大版本要一致,否则带 C 扩展的包容易编译失败,这时单独手动装那个包更现实。
qidao123.com企服评测-应用市场 编辑提示:本文为站点编辑整理的基础镜像拉起、容器工具补齐与 Python 环境迁移笔记,命令已按原意规范化书写;镜像源与 PyPI 源请替换为实际可用地址;本站不提供镜像下载或加好友服务。 |