Docker在服务器linux下配置及打包【bash指令】

1.管理员将用户设置为docker用户 (注意:这里需要服务器管理员进行设置此句)

bash 复制代码
sudo gpasswd -a ${user} docker

2.列出docker镜像

bash 复制代码
docker images

3.列出正在运行的docker容器

bash 复制代码
docker ps

4.0.创建一个容器

bash 复制代码
docker pull python=3.10
docker pull python
docker images
# 运行基于python镜像的新容器
docker run -itd python:latest bash # -it 想运行一个 Python 容器并在前台与其交互   
# -d 后台运行容器并打印容器ID   
# bash: 这是你想在容器内运行的命令

### 以上创建的容器的id和name是系统生成的


# 创建时命名容器名和镜像名
docker run --name <container_name> <image_name> -itd python:latest bash

4.启动容器

bash 复制代码
docker start <container id/name>

5.进入容器(用attach的话,每次从container退出,container也跟着退出了。)

bash 复制代码
docker attach <container id/name>

6.进入容器(用exec的话,想要退出container但是让container继续在后台运行,就用exec)

bash 复制代码
docker exec -it <container name> /bin/bash

7.拉取python镜像

bash 复制代码
docker pull python=3.8 #这里python版本可根据自己的需求设置

8.安装依赖包(可以直接pip install 所用包)

但是这里建议安装venv虚拟环境进行安装所需包

bash 复制代码
# 切换到root用户
su -
# 安装sudo
apt-get update
apt-get install sudo

# 安装venv模块
sudo apt-get install python3-venv

# 创建虚拟环境
python -m venv myenv

# 激活虚拟环境
source myenv/bin/activat

# 激活了虚拟环境就可以安装需要的python包,假设需要numpy包
pip install numpy

#退出虚拟环境
deactivate

9.退出容器

bash 复制代码
exit # 也可以直接按ctrl+D

10.将容器打包成镜像

bash 复制代码
docker commit <comtainer id/name>  <image name>:<版本号>

11.将镜像打包成tar文件

bash 复制代码
docker save -o tar包名称.tar 待打包镜像名称:待打包镜像版本

# 将镜像tar打包到特定的文件夹下
docker save -o /path/to/save/tar包名称.tar 待打包镜像名称:待打包镜像版本

12.将tar包名称.tar传输到另一台服务器上(如果另一台服务器没有免密需要输入密码)

bash 复制代码
scp tar包名称.tar root@172.17.31.174:/data/

13.删除创建的镜像

bash 复制代码
docker rmi <镜像名称>:<创建时镜像版本号>

14.删除创建的容器

bash 复制代码
# 停止正在运行的容器
docker stop <container_id_or_name>
docker rm <container_id_or_name>

# 如果你想一步删除正在运行的容器,可以使用-f或--force选项:
docker rm -f <container_id_or_name>

参考连接:

Docker|从镜像到container|打开、进入、退出container_docker进入container-CSDN博客

docker部署计算任务(numpy测试)_docker python numpy-CSDN博客

【如何使用Docker将容器打包成镜像】_docker容器打包成镜像-CSDN博客

Linux这么在两个服务器直接传文件?_linux服务器之间传输文件-CSDN博客

相关推荐
GIS数据转换器4 小时前
基于GIS的智慧旅游调度指挥平台
运维·人工智能·物联网·无人机·旅游·1024程序员节
一路随云000005 小时前
基于Unity YooAsset自动化资源管理框架,附源代码
运维·自动化
数数科技的数据干货6 小时前
从爆款到厂牌:解读游戏工业化的业务持续增长道路
运维·数据库·人工智能
深耕AI10 小时前
【完整教程】宝塔面板FTP配置与FileZilla连接服务器
运维·服务器
AI智域边界 - Alvin Cho12 小时前
Bloomberg、LSEG 与 MCP 缺口:为什么尚未发布完整的 MCP 服务器,以及多智能体系统如何解決这问题
运维·服务器
计算机小手12 小时前
快速搭建一个 GitHub 开源项目导航网站,提供便捷的信息抓取、智能摘要、分类管理功能
经验分享·docker·github·开源软件
_OP_CHEN12 小时前
Linux网络编程:(七)Vim 编辑器完全指南:从入门到精通的全方位实战教程
linux·运维·服务器·编辑器·vim·linux生态·linux软件
Maple_land12 小时前
第1篇:Linux工具复盘上篇:yum与vim
linux·运维·服务器·c++·centos
shizhan_cloud13 小时前
Linux 硬盘分区管理
linux·运维
蓁蓁啊13 小时前
Ubuntu 虚拟机文件传输到 Windows的一种好玩的办法
linux·运维·windows·单片机·ubuntu