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博客

相关推荐
一只小bit14 分钟前
Docker 镜像制作:包含自定义镜像及常用命令
运维·docker·容器
源远流长jerry1 小时前
Linux 网络性能优化:从应用到内核
linux·运维·服务器·网络·网络协议·性能优化
goyeer1 小时前
【ITIL】指导原则
linux·运维·服务器·数字化·itil
苍煜1 小时前
K8s 核心资源详解(Pod/Deployment/Service 实战)
云原生·容器·kubernetes
江湖有缘1 小时前
容器化笔记:Memory应用在Docker环境下的部署与配置
笔记·docker·容器
yuanpan2 小时前
Python + psutil 实战:开发一个简易系统监控工具
linux·运维·python
苍煜2 小时前
Docker Compose 多容器编排实战(系列第五篇:开发环境一键部署)
运维·docker·容器
坚持就完事了2 小时前
Linux的ln命令
linux·运维·服务器
鹿角片ljp2 小时前
实验室显卡与本机远程连接复盘:直连SSH到ZeroTier
运维·ssh
sbjdhjd2 小时前
企业级 Docker 镜像仓库建设与运维规范
linux·运维·docker·云原生·容器·eureka·开源