Docker的基本使用

Docker简介

  Docker 是一个开源的应用容器引擎,让开发者能够打包他们的应用以及依赖包到一个可移植的容器中,而后发布到任何流行的Linux机器上,也能够实现虚拟化。容器是彻底使用沙箱机制,相互之间不会有任何接口。nginx

  它是一项虚拟化技术,应用场景普遍如web部署 能够快速部署咱们的应用。cgroup 技术帮咱们实现资源的限制 namespace 来完成对资源的隔离。web

docker的安装

  参考文档:https://blog.csdn.net/nimoyaoww/article/details/79155489docker

docker的基本操做

docker images           查看本地的镜像
docker search 镜像名       搜索网上的相关镜像
docker pull 镜像名        拉取你要的镜像
docker rmi 镜像名         删除镜像
docker save 镜像名|gzip>>保存的文件名.tar.gz   将拉取下来的镜像保存在本地
docker load < 保存的文件名.tar.gz             将保存的镜像文件从新加载
docker inspect 容器名或id             能查看到此容器的信息
docker logs 容器名或id               查看日志 若是加了-f 参数就能够动态查看日志
docker run
-it 镜像名 (bash/sh)进入时使用的shell方式

        -t 分配一个伪终端
        -i 让容器的标准输入保持一个打开的状态shell

      --name 名字 能够给咱们的容器起一个名字
      --rm 退出容器的时候 自动删除容器
docker ps 查看正在运行的容器
-a 能显示那些已经关掉的容器 docker rm 容器id或者容器名字                删除容器(加-f表示强制删除) docker attach 容器名字或id       进入到一个启动中的容器(退出容器自动中止)
docker exec -it 容器名字 bash/sh    进入到一个启动中的容器(退出容器不中止) exit                             能够退出当前的容器 docker commit
-m "注释" 容器名字或id 生成的镜像的名字 将现有的容器生成新的镜像保存在本地仓库

docker网络映射ubuntu

端口映射
-P 随机映射
-p 主机端口:容器端口bash

docker run -it -d --name 名字 -p 主机端口:容器端口 容器名 

数据卷网络

docker run -it -d --name 名字 -v 宿主机目录:容器目录 容器名 

数据卷容器ui

docker run -it -d --name 名字 --volumes-from  容器名 

容器互联spa

先启动一个容器 docker run -d --name web1 -p 80:80 ningx
在启动一个容器: docker run -d --name web2 --link web1 -p 8080:80 ningx

基础的Dockerfile的编写(文件名必须叫Dockerfile).net

FROM ubuntu

MAINTAINER liuda liuda@1000phone.com

RUN apt-get update
RUN apt-get install nginx -y

RUN echo "daemon off;">>/etc/nginx/nginx.conf
#设置开放端口
EXPOSE 80

# 默认在容器启动的时候执行的命令
CMD ["nginx"]

构建命令

sudo docker build -t 标签名字 ./

上传本身的镜像到仓库

  • 1 docker login 能够加你的docker网址 默认是https://hub.docker.com
  • 2 给你的镜像打标签 docker tag 镜像名/id 用户名/存到远端叫什么:tag标签
  • 3 docker push 第2步 镜像名/id后边跟的 名字
   sudo docker login
   sudo docker images
   sudo docker tag 77b3321ee9b8 whoareyou0401/1805ubuntu
   sudo docker push whoareyou0401/1805ubuntu

 补充

sudo docker start 0b4bb44bfa81                                 运行一个中止的容器
sudo docker inspect --format "{{.State.Pid}}" 0b4bb44bfa81     获取指定id的容器的进程PID
sudo nsenter -t 2916 -u -i -n -p                               进入到一个运行中的容器(推荐方式,2916是容器进程PID)
sudo docker ps -a -q                                           获取容器id
sudo docker kill $(sudo docker ps -a -q)                       杀死一个运行的容器进程
sudo docker logs 容器id                                           查看容器的访问日志
相关文章
相关标签/搜索