docker安装以及常用命令

一、docker的安装:

1、docker-ce 是社区版,docker-ee 企业版 ,首先安装docker-ce:

curl https://get.docker.com | sh && sudo systemctl --now enable docker

2、安装nvidia-docker(参考: https://docs.nvidia.com/datacenter/cloud-native/container-toolkit/install-guide.html#docker):

distribution=$(. /etc/os-release;echo $ID$VERSION_ID) && curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add && curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

3、继续安装:

sudo apt-get update
sudo apt-get install -y nvidia-docker2
sudo systemctl restart docker

4、测试,输入以下命令,若能出现显存容量,即成功:

sudo docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

二、Docker的基本操作:

1、docker的启动操作

systemctl start docker # 启动Docker
sudo service docker restart   # 重启docker服务
docker version # 查看当前版本号,是否启动成功
systemctl enable docker # 设置开机自启动
docker images # 查看下载的docker镜像

2、docker的卸载

yum remove docker-ce docker-ce-cli containerd.io   # 1. 卸载依赖
rm -rf /var/lib/docker # 2. 删除资源  . /var/lib/docker是docker的默认工作路径

 3、docker基础命令

docker version          #查看docker的版本信息
docker info             #查看docker的系统信息,包括镜像和容器的数量
docker 命令 --help       #帮助命令(可查看可选的参数)
docker COMMAND --help

4、 docker镜像命令

docker images    # 查看本地主机的所有镜像
docker pull 镜像名 # 需要的镜像可以在https://hub.docker.com/中搜索,
docker rmi 删除镜像
docker rmi -f  镜像id

5、 docker容器命令

docker run -it 镜像名  /bin/bash   # 创建容器并进入docker容器
# 后面的/bin/bash的作用是表示载入容器后运行bash ,docker中必须要保持一个进程的运行,要不然整个容器启# 动后就会马上kill itself,这个/bin/bash就表示启动容器后启动bash。
# -it 表明使用交互方式运行,进入容器查看内容

# 创建可以使用GPU的容器
docker run --gpus all --name 容器名 -d -t 镜像id
docker run --gpus all --name 容器名 -d -t -p 8000:8000 镜像id /bin/bash # -p 为设置主机和容器的端口号

docker run --gpus all --name CNN -d -t -p 22:22 40098e90b2f2 /bin/bash # -p 为设置主机和容器的端口号

docker port 54a270abdff2  # 查询当前容器的端口号
docker ps # 列出当前正在运行的容器
docker ps -a  # 列出所有容器的运行记录
docker rm 容器id   # 删除指定的容器,不能删除正在运行的容器,强制删除使用 rm -f
docker rm -f 容器id  # 强制删除指定的容器
docker start 容器id     # 启动容器
docker restart 容器id    # 重启容器
docker stop 容器id      # 停止当前运行的容器
docker kill 容器id      # 强制停止当前容器
docker logs -tf 容器id    # 显示日志
docker logs --tail number 容器id     # num为要显示的日志条数
docker top c703b5b1911f   # 查看容器中进程信息
docker exec -it 63b71a36af54 /bin/bash  # 进入当前正在运行的容器
docker attach c703b5b1911f  # 进入当前正在运行的容器
ctrl+D # 退出容器终端,回到宿主机

注意:
1、可以把容器理解为一台小型的liunx系统,和平常的linux系统操作类似;

6、docker容器和宿主机的互相拷贝(以下命令在容器外操作)

docker cp 容器id:容器内路径  目的主机路经    #拷贝容器的文件到主机中
docker cp 目的主机路径 容器id:容器内路径     #拷贝宿主机的文件到容器中

7、docker 环境打包

1、先删除容器内安装包缓存等(清理无用的缓存及安装包)
rm -rf ~/.cache/pip
conda clean -p   //删除没有用的包
conda clean -t  //tar打包
conda clean -y -all //删除所有的安装包及cache
apt-get clean
2、导出容器为本地镜像文件
sudo docker export 015885999f6b > cuda115torch110.tar  //015885999f6b为容器id

8、在新机器上 导入docker环境压缩包

docker import cuda115torch110.tar cuda115torch110  // cuda115torch110为新的镜像名称

你可能感兴趣的:(环境和软件安装,docker相关,docker,容器,运维)