1、如果有安装过docker,先卸载旧版本,命令如下:
sudo yum remove docker \
docker-client \
docker-client-latest \
docker-common \
docker-latest \
docker-latest-logrotate \
docker-logrotate \
docker-engine
2、安装
设置仓库
sudo yum install -y yum-utils \
device-mapper-persistent-data \
lvm2
sudo yum-config-manager \
--add-repo \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
删除podman
dnf remove podman
安装Docker Engine
sudo yum install docker-ce docker-ce-cli containerd.io
查看Docker其他版本
yum list docker-ce --showduplicates | sort -r
启动Docker
sudo systemctl start docker
测试Docker安装情况
sudo docker run hello-world
如果看到Hello from Docker! 代表安装成功
查看镜像
docker images
可以看出,已经从远程仓库拉取到hello-world镜像到本地了。
设置开机启动Docker
sudo systemctl enable docker.service
sudo systemctl enable containerd.service
卸载Docker
删除安装包
sudo yum remove docker-ce docker-ce-cli containerd.io
删除镜像容器、配置文件等内容
sudo rm -rf /var/lib/docker
sudo rm -rf /var/lib/containerd
有时需要手动删除
-------------------------------------------------------------------------------------------------------------------
docker安装python3.11
docker pull python:3.11
在home目录里创建python_home目录
mkdir python_home
创建容器
docker run -itd --name python3.11 -v /opt/python_home:/home/python_home python:3.11
进入容器
docker ps -a
docker exec -it python3.11 /bin/bash
cd home/python_home/
ls
进入到容器,我们发现容器中已经存在python_home文件目录了,说明我们目录挂载已经生效了。
进入root权限在opt/python_home/目录下创建文件或项目,创建完之后在home/python_home/目录下进行自动同步。
进入容器:
查看容器ID和名称:docker ps -a;
docker exec -it python3.11 /bin/bash
cd home/python_home/
ls
运行脚本:python a.py
为了直接不使用root用户创建.py文件或项目,可到opt目录下给python_home文件夹修改权限,然后再去用docker运行程序。
exit
cd ..
sudo chmod 777 python_home/
设置容器自动重启:
1.新建容器时配置自启参数
docker run --restart=always 容器id 或 容器名称
2.已存在的容器配置自启
docker update --restart=always 容器id 或 容器名称
重启后如果进入不了容器进行以下操作:
查看容器ID:docker ps -a;
根据容器名称的ID进入容器:docker start 44110f467722
根据容器名称的ID进入容器:docker exec -it 44110f467722 /bin/bash
cd home/python_home/
ls
运行脚本
python aa.py