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

相关推荐
hcja66627 分钟前
CVE-2024-23897-Jenkins任意文件读取漏洞复现
运维·web安全·网络安全·中间件·jenkins
wingaso1 小时前
[Linux]el8安全配置faillock:登录失败达阈值自动锁定账户配置
linux·运维·安全·ssh
linux修理工1 小时前
speedtest For Ubuntu/Debian
linux·运维·服务器
vortex52 小时前
Linux 命令行十六进制编辑器:高效操作二进制文件
linux·运维·编辑器
mcharleylei3 小时前
Centos 安装docker
linux·docker·centos
jerry-894 小时前
系统安全及应用
linux·运维·服务器
AiFlutter4 小时前
在AlarmLinux系统中安装KeyDB
linux·运维·服务器
小徐同学14184 小时前
BGP边界网关协议(Border Gateway Protocol)路由聚合详解
运维·服务器·网络·网络协议·信息与通信·bgp
kyle~7 小时前
Linux--权限
linux·运维·服务器
谁在夜里看海.7 小时前
【Linux-网络】初识计算机网络 & Socket套接字 & TCP/UDP协议(包含Socket编程实战)
linux·运维·服务器·网络·计算机网络