config管理Docker配置
container管理容器
context管理上下文
image管理图像
manifest管理Docker映像清单和清单列表
network管理网络
node管理Swarm节点
plugin管理插件
secret管理Docker机密
service管理服务
stack管理Docker堆栈
swarm管理swarm
系统管理Docker
trust管理对Docker镜像的信任
volume管理卷
命令:
attach将本地标准输入、输出和错误流附加到正在运行的容器
build从Dockerfile构建映像
commit根据容器的更改创建新映像
cp在容器和本地文件系统之间复制文件/文件夹
create创建一个新容器
diff检查对容器文件系统上的文件或目录的更改
events从服务器获取实时事件
exec在运行容器中运行命令
export将容器的文件系统导出为tar存档
history显示图像的历史记录
images列出图像
import从tarball导入内容以创建文件系统映像
info显示系统范围的信息
inspect返回Docker对象的低级信息
kill杀死一个或多个正在运行的容器
load从tar存档或STDIN加载图像
login登录Docker注册表
logout从Docker注册表注销
logs获取容器的日志
pause暂停一个或多个容器中的所有进程
port列出容器的端口映射或特定映射
ps列出容器
pull从注册表中提取图像或存储库
推送将图像或存储库推送到注册表
重命名重命名容器
restart重新启动一个或多个容器
rm移除一个或多个容器
rmi删除一个或多个图像
run在新容器中运行命令
save将一个或多个图像保存到tar存档(默认情况下流式传输到STDOUT)
search在Docker Hub中搜索图像
start启动一个或多个停止的容器
stats显示容器资源使用情况统计信息的实时流
stop停止一个或多个正在运行的容器
标记创建引用SOURCE_IMAGE的标记TARGET_IMAGE
top显示容器的运行进程
取消暂停取消暂停一个或多个容器中的所有进程
更新更新一个或多个容器的配置
version显示Docker版本信息
利用Pycharm远程使用Docker中的Python环境一共分为4步:
准备拥有Python环境的Docker
给Docker安装ssh-server并生成新的镜像
运行新镜像,对外开放ssh端口
Pycharm连接Docker中的解释器
拉取一个3.7.5的镜像
docker pull python:3.7.5
等待下载完成后,可以使用以下命令验证镜像是否成功安装:
docker images
您将在镜像列表中看到python仓库,标签为3.7.5的镜像。
启动一个镜像并创建一个容器,可以使用docker run命令。以下是启动Python 3.7.5镜像并创建容器的示例命令:
docker run -it --name my_python_container python:3.7.5
这个命令的含义是:
-it:以交互式模式运行容器,并将终端连接到容器的标准输入输出。
--name my_python_container:为容器指定一个名称,这里将容器命名为my_python_container,您可以根据需要自行更改。
python:3.7.5:要运行的镜像名称和标签。
运行上述命令后,Docker将创建一个基于Python 3.7.5镜像的容器,并将您连接到容器的终端。您可以在容器中执行Python程序或运行其他相关命令。
如果您希望在容器中执行一个Python脚本文件,可以使用以下命令:
plaintext
docker run -it --name my_python_container python:3.7.5 python your_script.py
获取镜像
root@ubuntu-acloud:~# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
4a44a271cfb1 python:3.7.5 "python3" 5 hours ago Up 4 hours python_docker
启动容器
docker start 4a44a271cfb1
进入镜像
root@ubuntu-acloud:~# sudo docker exec -it python_docker /bin/bash
此时应该已经在容器中了,安装openssh-server
apt update
apt install openssh-server -y
root@4a44a271cfb1:apt update
root@4a44a271cfb1:apt install openssh-server -y
启动ssh服务
service ssh start # 输出[ok] Starting OpenBSD Secure Shell server: sshd.即为成功
查看ssh服务状态
service ssh status
配置ssh登录密码,此处密码设置为“1237894560”,用户名默认为“root”
终端输入以下命令
passwd
# Enter new UNIX password: 输入密码1237894560
# Retype new UNIX password:再次输入密码1237894560
# passwd: password update successfully 密码设置成功
安装编辑器
apt update
apt install nano
删除编译器的方法为 apt remove nano
安装vim编辑器
apt update
apt install vim
删除 vim 编辑器的方法 apt remove vim
编辑配置文件
通过nono编辑器 对配置文件进行修改
nano /etc/ssh/sshd_config
或
vim /etc/ssh/sshd_config
要通过命令修改/etc/ssh/sshd_config配置文件中的PermitRootLogin和UsePAM选项,可以使用以下命令:
```shell
sed -i 's/#PermitRootLogin prohibit-password/PermitRootLogin yes/' /etc/ssh/sshd_config
sed -i 's/UsePAM yes/UsePAM no/' /etc/ssh/sshd_config
这些命令使用sed编辑器来替换文件中的相应行。第一条命令将注释的PermitRootLogin行替换为PermitRootLogin yes,以允许root用户通过SSH登录。第二条命令将UsePAM行替换为UsePAM no,以禁用PAM身份验证。
完成后,记得重新启动SSH服务以使更改生效:
重新启动SSH服务
service ssh restart
请注意,在修改配置文件之前,最好先备份/etc/ssh/sshd_config文件,以防出现意外情况。
创建用来挂载项目的文件夹
目的:可以省略,自定义一个用来挂载项目的目录,之后用
```shell
cd /home
mkdir PythonProject
提交为新的镜像
到此,Docker容器中的ssh-server就已经全部配置成功了,下面我们将该容器提交为新镜像,留在后面使用。
退出容器
exit
查看系统中所有的容器
sudo docker ps -a
将刚才的容器提交为新镜像(python_env为刚才的容器名,也可以写容器ID)
sudo docker commit -a "lifan" -m "add ssh, passwd=1237894560" python_env python_env_ssh:1
查看新的容器
sudo docker images
运行新的镜像
sudo docker run -id --name paddle_docker_ssh -p 7061:22 -p 5100:5100 -v /home/lifan/Python_SSH_Project:/home/Python_Project paddle_docker_ssh:1
sudo docker run -id --name my_python_container -p 7061:22 -p 5100:5100 -v /home/lifan/Python_SSH_Project:/home/Python_Project my_python_container_ssh:1
重启服务器
sudo reboot
查询正在运行的5000 端口
lsof -i :5000
kill ID 结束xxId 的进程
安装sudo
apt-get install sudo
安装lsof
sudo apt update
sudo apt install lsof
检查端口是否运行状态
lsof -i :5000
关闭 防火墙
检测防火墙是否为启用状态
sudo ufw status
检查 防火墙规则
sudo ufw show added
禁用防火墙
sudo ufw disable
启用防火墙
sudo ufw enable
获取容器的详细信息
使用命令docker inspect <容器ID>获取容器的详细信息。
docker inspect 6e86250d065b
重启docker
sudo systemctl restart docker
启用docker
sudo systemctl start docker
进入python_env_ssh镜像
docker exec -it python_env_ssh /bin/b
启动ssh服务
service ssh start # 输出[ok] Starting OpenBSD Secure Shell server: sshd.即为成功
查看ssh服务状态
service ssh status
重启服务器后需要操作的步骤
重启镜像
docker restart d5bc046154c8h
启动容器
docker start ### 启动容器
docker start 6e86250d0
### 进入容器
```python
docker exec -it python_env_ssh /bin/bash
启动ssh服务
service ssh start # 输出[ok] Starting OpenBSD Secure Shell ser
r: sshd.即为成功
查看ssh服务状态
service ssh status
docker inspect 6e86250d065b --format='{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}'
获取解释器路径
import sys
print(sys.executable)
安装python库 如果是在虚拟环境里面 需要先激活虚拟环境
例如:虚拟环境为 /root/.virtualenvs/docker_ssh/bin/activate
source /root/.virtualenvs/docker_ssh/bin/activate
激活后状态为:(docker_ssh) root@35008d5132ee:/# 在激活的目录下进行pip
(docker_ssh) root@35008d5132ee:/#
linux服务器中移动数据到docker镜像中指定位置
linux服务器的"densenet_lite_136-fc-onnx.zip"文件复制到运行中的Docker容器中的"/root/.cnocr/2.2/"目录下:
```python
docker cp densenet_lite_136-fc-onnx.zip da7fe9add164:/root/.cnocr/2.2/
其中,”densenet_lite_136-fc-onnx.zip”是linux的路径,”da7fe9add164”是Docker容器的ID或名称,”/root/.cnocr/2.2/“是容器中目标目录的路径。
请确保在运行命令前已经正确启动并进入了目标Docker容器。
root@35008d5132ee
/.cnstd/1.2
docker cp ch_PP-OCRv3_det_infer.onnx 35008d5132ee:/root/.cnstd/1.2/
docker save -o /root/my_python_container_ssh.tar my_python_container_ssh:1