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

相关推荐
杨靳言先2 小时前
✨【运维实战】内网服务器无法联网?巧用 SSH 隧道实现反向代理访问公网资源 (Docker/PortForwarding)
服务器·docker·ssh
fyakm4 小时前
K8s故障排查:常见问题定位与解决
docker·容器·kubernetes
2301_810746314 小时前
CKA冲刺40天笔记 - day10 K8S namespace
笔记·容器·kubernetes·k8s
abcy0712134 小时前
k8s ipc-namespace进程间通信隔离类型详解
docker·容器·kubernetes
Justice link4 小时前
K8S基本配置
运维·docker·容器
观熵4 小时前
SaaS 系统的自动化部署结构设计实战指南:基于 K8s + Helm 的工程落地路径
运维·kubernetes·自动化·saas 架构
chinesegf4 小时前
ubuntu中虚拟环境的简单创建和管理
linux·运维·ubuntu
月亮不营业啦4 小时前
docker 教程(带详细图文)
docker
若涵的理解4 小时前
一文读懂K8S kubectl 命令,运维小白必看!
运维·docker·kubernetes
java_logo4 小时前
2025 年 11 月最新 Docker 镜像源加速列表与使用指南
linux·运维·docker·容器·运维开发·kylin