Docker 使用教程
Docker
Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。
Docker 里面三个核心词汇,镜像、容器、仓库。
1、Docker 要求 CentOS 系统的内核版本高于 3.10 ,查看本页面的前提条件来验证你的CentOS 版本是否支持 Docker 。通过 uname -r 命令查看你当前的内核版本
uname -r
centos版本 3.10.0-514.el7.x86_64
2、初步安装和启动docker
yum update -y
yum -y install docker
systemctl start docker
3、设置镜像
vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://aj2rgad5.mirror.aliyuncs.com"]
}
docker 命令
-
docker images
#列出所有镜像 -
docker run ...
# 运行容器 -
docker ps ...
#查看正在运行的容器 -
docker exec it(编号) bash
进入运行的容器 -
docker stop [NAME]/[CONTAINER ID]
:将容器退出。 -
docker kill [NAME]/[CONTAINER ID]
:强制停止一个容器。 -
docker rm [NAME]/[CONTAINER ID]
:不能够删除一个正在运行的容器,会报错。需要先停止容器。 -
netstat -na|grep 8080
: 查看端口是否占用 -
docker run -d -p 8080:80 hub.c.163.com/library/nginx
将程序映射到端口 -
docker run -d -P hub.c.163.com/library/nginx
容器中的所有端口映射到主机随机端口
docker 镜像删除
1.停止所有的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>
想要删除untagged images,也就是那些id为的image的话可以用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
要删除全部image的话
docker rmi $(docker images -q)
docker rmi -f $(docker images -q [imageid/imagename] | sort -u)
删除多个同id的镜像这里写代码片
运行springboot
Dockerfile
FROM hub.c.163.com/library/java:openjdk-8-jdk-alpine
VOLUME /tmp
ADD eureka-server_01-0.0.1-SNAPSHOT.jar app.jar
RUN sh -c 'touch /app.jar'
ENV JAVA_OPTS=""
ENTRYPOINT ["java","-Djava.security.egd=file:/dev/./urandom","-jar","/app.jar"]
docker 推送镜像到仓库
docker login hub.c.163.com
登录网易云基础服务私有镜像仓库
docker tag test/centos:6.5 hub.c.163.com/dangernear/centos:6.51
修改镜像标签信息
docker push hub.c.163.com/dangernear/centos:6.51
将新镜像上传至私有镜像仓库
https://www.163yun.com/help/documents/68510213955833856
rancher 安装
sudo docker run -d --restart=always -p 8888:8080 rancher/server
rancher安装
上一篇: 使用FileReader采用的默认编码
下一篇: Docker使用教程