在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
Docker从入门到实践一、安装Dockera)、设置Docker仓库 1、按惯例,首先更新Ubuntu的包索引 $ sudo apt-get update 2、让服务器可以使用Https更新仓库 $ sudo apt-get install apt-transport-https ca-certificates curl software-properties-common 3、添加Docker官方的密钥对,如果没问题,会返回“OK” $ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add - 4、校验密钥(9DC8 5822 9FC7 DD38 854A E2D8 8D81 803C 0EBF CD88)是否和官方一致 $ sudo apt-key fingerprint 0EBFCD88 5、设置官方稳定版的仓库来源 $ sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" b)、安装Docker 1、再次更新下包索引,因为刚才加了Docker仓库,确保是否命中了Docker源 $ sudo apt-get update 2、安装最新版本的Docker-CE社区版 $ sudo apt-get install docker-ce 3、需要安装其他版本的请使用以下命令 $ sudo apt-get install docker-ce=1.13 4、查看是否安装成功 $ docker version 设置国内镜像源: 1、修改或创建daemon.json文件:vi /etc/docker/daemon.json { "registry-mirrors": ["http://hub-mirror.c.163.com"] } 5、试着运行一个测试镜像(repository),万能的Hello World! $ sudo docker run hello-world 修改Docker默认启动文件路径1.停止docker运行 systemctl stop docker 2.在data目录下创建docker目录 mkdir /data/docker 3.修改docker的systemd的 docker.service的配置文件 vim /usr/lib/systemd/system/docker.service vim /etc/systemd/system/multi-user.target.wants/docker.service ExecStart=/usr/bin/dockerd --graph /data/docker 4、迁移/var/lib/docker目录下面的文件到 /data/docker/下面 cp -R /var/lib/docker/* /data/docker/ systemctl daemon-reload systemctl start docker Docker镜像删Docker 容器镜像删除. 停止所有的container,这样才能够删除其中的images: docker stop $(docker ps -a -q) 如果想要删除所有container的话再加一个指令: docker rm $(docker ps -a -q) 2. 查看当前有些什么images docker images 3. 删除images,通过image的id来指定删除谁 docker rmi <image id> 4. 想要删除untagged images,也就是那些id为<None>的image的话可以用 docker rmi $(docker images | grep "^<none>" | awk "{print $3}") 5. 要删除全部image的话 docker rmi $(docker images -q) 6. 删除不在使用的镜像 docker system prune -a -f docker images filter 镜像查询过滤找出tag为<none>的 docker images -f "dangling=true" 找出tag为<none>的, 只返回image id docker images -f "dangling=true" -q 根据repository名称和tag模糊过滤,我验证时,如果repository有/或小数点符号,通过*是无法匹配的 docker images --filter=reference='busy*:*libc' 使用before或since根据时间查找,实际上以repository的名字作为时间分隔, docker images --filter "before=image1" docker images --filter "since=image3" 此外还有label, label=<key> or label=<key>=<value> docker images --filter "label=com.example.version" , 这条我用docker image inspect <image id>,发现几个image的label都是空的,这个有待研究。 二、.NetCore的Docker配置准备工作:首先记录接下来可能会用到的几个常用命令 sudo docker pull microsoft/dotnet //从docker仓库拉取一个名称为“microsoft/dotnet”的镜像 sudo docker build light //构建一个名称为light的容器 sudo docker run hello-world //运行hello-world容器 sudo docker images //查看所有镜像 sudo docker rm containerid 容器id //删除containerid容器id 说明:使用Ctrl+D快捷键或者键入exit命令来退出容器命令。
1、从docker仓库拉取一个名称为“microsoft/dotnet”的镜像 sudo docker pull microsoft/dotnet:latest 完成之后查看一下所有镜像 (镜像:从仓库中拉取到本地的内容称作镜像;一个镜像里面包含:仓库名称,TAG,镜像ID,创建时间,大小等) sudo docker images //查看所有镜像 没有运行过得镜像是没有它对应的容器,查看容器的命令 sudo docker ps -a //查看所有容器 注意:此时还没有容器。 2、首次进入到容器里面需要使用到镜像的仓库名称“microsoft/dotnet” sudo docker run -it microsoft/dotnet //每次run,都会重新构造出新的互不影响的容器,请自行查看 dotnet --version //查看dot net版本
docker run之后,就会自动构建一个容器了,以后可以使用start、stop、restart命令操作一个存在的容器了。 (容器:从镜像里面创建出来的一个副本;一个容器里面包含:容器ID,镜像所在的仓库名称,命令,创建时间等) 容器和镜像的关系好比:object和class的关系。 启动一个存在的容器 sudo docker start -i 4dab7aababa1 --容器ID
|
请发表评论