p "Exited" | awk '{print $1 }'|xargs docker stop #查找并停止镜像
sudo docker ps -a | grep "Exited" | awk '{print $1 }'|xargs docker rm #移除已停止的镜像
sudo docker images -q -a | xargs docker inspect --format='{{.Id}}{{range $rt := .RepoTags}} {{$rt}} {{end}}'|grep -v ':' #移除悬空镜像,没起作用,求指导
sudo docker ps -a #列出所有实例
sudo docker stop demo #停止demo实例
sudo docker rm demo #移除demo实例
sudo docker run -d -p 80:80 --name demo demo:latest . -v /data/logs/demo:/data/logs/demoo docker run -d -p 80:80 -e --names demo demo:latest . -v /data/logs/demo:/data/logs/demo #指定demo镜像,运行demo实例
为了使用脚本,我们必须为 docker 用户赋予 root 用户组权限,否则 docker 无权执行停止实例等操作,执行下面的命令
sudo groupadd docker
sudo gpasswd -a ${USER} docker
sudo service docker restart
newgrp - docker
好了,现在可以愉快的执行脚本了,使用下面的命令执行一键构建镜像
sudo sh demo.sh
4.2 进入镜像
进入运行中的容器的方法有多种,掌握一种足够,在控制台输入命令
sudo docker exec -it demo /bin/bash
在容器内部使用命令和在 Centos 系统中一样,可以看到我们 demo 程序的执行目录 /app
结束语
通过本文,我们学习了以下内容
1、在 Centos 中安装 docker
2、编写 Dockerfile 文件
3、在容器中构建 .NET Core 程序
4、编写自动化构建脚本,为迁移到 Jenkins 做准备
5、学习了一些基本的 docker 扩展命令