docker swarm销毁 docker删除none_docker删除none镜像


0、Docker

1.What

Docker 是一个开源的应用容器引擎。

Docker可以将我们的想要的环境构建(打包)成一个镜像,然后我们可以推送(发布)到网上去。想要用这个环 境的时候,在网上拉取一份就好了。

2.Why

2.1 环境(切换/配置)麻烦:使用Docker可以将环境封装好,让别人直接用Dockerfile创建出一个一模一样的环境。

2.2 应用之间需要隔离:比如我写了两个应用(网站),这两个应用部署在同一台服务器上,第一个应用出现bug导致cpu占用100%,这就导致了服务器上所有的应用都不能运行

3.虚拟机和Docker的区别?(https://zhuanlan.zhihu.com/p/54512286)


docker swarm销毁 docker删除none_docker_02


Docker容器比虚拟机轻量多了

1、ubuntu18.04 apt 安装docker(通过阿里云源)

1.更新apt库


sudo apt update


2.以下安装使得允许apt通过HTTPS使用存储库


sudo apt install apt-transport-https ca-certificates curl software-properties-common


3.添加阿里GPG秘钥


curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -


4.添加阿里docker源


sudo add-apt-repository "deb [arch=amd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"


5.更新apt源


sudo apt-get update


6.安装


sudo apt install -y docker-ce


7.查看版本


docker --version


2、安装nvidia-docker(在这之前,记得把电脑的NVIDIA Driver安装好。)

1.安装(github地址:https://github.com/NVIDIA/nvidia-docker#quick-start)


# Add the package repositories
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

sudo apt-get update && sudo apt-get install -y nvidia-container-toolkit
sudo systemctl restart docker


2.启用(一定要加上"--gpus all ",不然不会调用gpu)


sudo docker run -it --gpus all 镜像名:版本号


3.输入下面的命令,查看是否可以调用nvidia driver信息


nvidia-smi -l


3、Docker的使用

1.删除容器


sudo docker rmi -f {Image ID}


Image ID可以通过sudo docker images 命令查看

2.根据Dockerfile创建容器


sudo  docker build --tag common:1.0 .


其中,common:1.0为容器名:版本号,可以根据自己的需要更改,如myubuntu

3.运行容器


#不带显卡的docker
sudo docker run -it  --rm common:1.0
#带显卡驱动的docker
sudo docker run -it --gpus all common:1.0


4.清理镜像(http://dockone.io/article/3056)

我们在使用 Docker 一段时间后,系统一般都会残存一些临时的、没有被使用的镜像文件,可以通过以下命令进行清理


sudo docker image prune -a


5.查看docker占用的磁盘空间


sudo docker system df


6.查看docker安装的image和ID


sudo docker images


4、将本地创建好的Docker镜像上传到阿里云,方便其他上电脑下载

1.登录阿里云容器镜像服务,注册登录(https://cr.console.aliyun.com/cn-hangzhou/instances/repositories

2.创建镜像仓库


docker swarm销毁 docker删除none_Docker_03


3.点击仓库名称,可以看到Tutorial(详细操作可以继续往下看)

4.登录阿里云Docker Registry(然后输入密码)


sudo docker login --username=yourname registry.cn-hangzhou.aliyuncs.com


5.将本地镜像推送到Registry


sudo docker login --username=15267434480 registry.cn-hangzhou.aliyuncs.com
 sudo docker tag [ImageId] registry.cn-hangzhou.aliyuncs.com/hx_demo/common:[镜像版本号]
 sudo docker push registry.cn-hangzhou.aliyuncs.com/hx_demo/common:[镜像版本号]


请根据实际镜像信息替换示例中的[ImageId]和[镜像版本号]参数。

6.从Registry中拉取镜像


sudo docker pull registry.cn-hangzhou.aliyuncs.com/hx_demo/common:[镜像版本号]


n、其他的一些小tip

1.在dockerfile中更换pip install的源

在Dockerfile目录下创建一个文件pip.conf,内容如下:


[global] 
index-url = https://pypi.tuna.tsinghua.edu.cn/simple


在Dockerfile中添加


COPY pip.conf /etc/pip.conf


2.存在很多tag为none的image(当image创建失败的时候,docker中会出现一个tag为none的image),非常占用电脑的存储空间

使用docker system df命令,用于查看Docker的磁盘使用情况:


sudo docker system df


使用以下命令可以删除,无tag的镜像


sudo docker system prune


慎用!!!所有Docker镜像都删掉


docker system prune -a


3.Docker Hub(https://hub.docker.com/)

里面有很多官方做好的镜像,可以在这个基础上面做自己的专属镜像,可以节省很多时间。

4.怎么写DockerFile:

参考:https://yq.aliyun.com/articles/735190?spm=5176.12281978.0.0.37724127kv0DYV

——————————————————————————————


有问题大家可以在评论区打出,一定及时给大家回复!!!


——————————————————————————————