wheat 发表于 2018-5-29 14:11:18

docker的基本操作

  docker的基本操作
  1、容器的基本操作
  (1)启动容器
  docker run centos echo "hello word"
  (2)启动交互式容器
  docker run -i -t ubuntu /bin/bash
  -i --interactive
  -t --tty
  (3)查看容器
  root@ubuntu-virtual-machine:~# docker ps
  root@ubuntu-virtual-machine:~# docker ps -a
  root@ubuntu-virtual-machine:~# docker inspect 5529d1c45029(id或name)
  (4)指定名字启动容器
  root@ubuntu-virtual-machine:~# docker run --name=container01 -i -t ubuntu /bin/bash
  (5)重新启动停止的容器:
  docker start[-i] 容器名
  (6)删除停止的容器
  docker rm 容器名
  

  2、Docker - 守护式容器
  (1)以守护形式运行容器:
  docker run -i -t IMAGE /bin/bash
  Ctrl+P Ctrl+Q
  (2)附加到运行中的容器:
  docker attach 容器名
  (3)启动守护式容器:
  docker run -d 镜像名
  (4)查看容器日志:
  docker logs [-f][-t][--tail]容器名
  如:docker logs -tf --tail 0 dc1
  (5)查看容器内进程:
  docker top 容器名
  (6)在运行中的容器内启动新进程:
  docker exec [-d][-i][-t]容器名
  (7)停止守护式容器:
  docker stop 容器名
  docker kill 容器名
  (8)使用docker帮助文件
  man docker-run
  man docker-logs
  man docker-top
  man docker-exec
  

  3、在容器中部署静态网站--设置容器的端口映射
  设置容器的端口映射
  run [-P][-p]
  方法一:
  docker run -p 80 -i -t ubuntu /bin/bash
  方法二:
  docker run -p 8080:80 -i -t ubuntu /bin/bash
  方法三:
  docker run -p 0.0.0.0:80 -i -t ubuntu /bin/bash
  方法四:
  docker run -p 0.0.0.0:8080 -i -t ubuntu /bin/bash
  Nginx部署流程:
  创建映射80端口的交互式容器
  安装Nginx
  安装文本编辑器vim
  创建静态页面
  修改Nginx配置文件
  运行Nginx
  验证网站访问
  docker run -p 80 --name web -i -t ubuntu /bin/bash
  apt-get install -y nginx
  apt-get install -y vim
  mkdir -p /var/www/html
  cd /var/www/html
  cat index.html
  <html>
  <head>
        <title>Nginx in Docker</title>
  </head>
  <body>
         <h1>Hello ,I'm website in Docker!</h1>
  </body>
  </html>
  
  # cat /etc/nginx/sites-enabled/default
  server {
  listen 80 default_server;
  listen [::]:80 default_server ipv6only=on;
  

  root /var/www/html;//修改
  

  /var/www/html# cd /
  nginx
  4.Docker镜像与仓库(一)
  查看和删除镜像--镜像的存储地址
  /var/lib/docker
  列出镜像
  docker images
  查看镜像
  docker inspect
  删除镜像
  docker rmi
  获取和推送镜像
  查找镜像
  方法一:去网站:registry.hub.docker.com/
  方法二:docker search
  拉取镜像
  docker pull NAME [:TAG]
  使用国外的镜像,太慢了,解决方法:
  使用--registry-mirror选项
  1、修改:/etc/default/docker
  2、添加:DOCKER_OPTS = "--registry-mirror=http://MIRROR-ADDR"
  https//www.daocloud.io
  具体操作:
  去以下网站注册,获取一个地址:
  https//www.daocloud.io
  修改配置文件:
  echo "DOCKER_OPTS=\"\$DOCKER_OPTS --registry-mirror=http://45df74c6.m.daocloud.io\"" | sudo tee -a /etc/default/docker
  sudo service docker restart
  docker pull ubuntu:12.10
  推送镜像
  docker push
  构建镜像
  方法一: docker commit 通过容器构建
  方法二:docker build 通过Dockerfile文件构建
  5、Docker客户端和守护进程
  连接方式:
  方法一:
  unix:///var/run/docker.sock
  如:
  nc -U /var/run/docker.sock
  GET /info HTTP/1.1
  方法二:
  tcp://host.port
  方法三:
  fd://socketfd
  

  查看守护进程
  ps -ef|grep docker
  sudo status docker
  使用service命令管理
  sudo service docker start
  sudo service docker stop
  sudo service docker restart
  

  启动配置文件
  /etc/default/docker
  

  Docker的远程访问
  第二台安装Docker的服务器
  修改Docker守护进程启动选项,区别服务器
  保证client API与Server API版本一致
  6.Docker镜像与仓库(二)
  7.Docker容器的网络连接
  docker0--linux虚拟网桥
  linux虚拟网桥的特点
  可以设置IP地址
  相当于拥有一个隐藏的虚拟网卡
  管理虚拟网桥
  sudo apt-get install bridge-utils
  sudo brctl show
  

  自定义虚拟网桥
  添加虚拟网桥
  sudo brctl addbr br0
  sudo ifconfig br0 192.168.100.1 netmask 255.255.255.0
  更改docker守护进程的启动配置:
  /etc/default/docker中添加DOCKER_OPS值
  -b=br0
  docker容器的互联
  允许所有容器互联
  拒绝容器间互联
  允许特定容器间的连接
  Docker 容器与外部网络的连接
  8、Docker容器的数据管理
  数据卷
  为容器添加数据卷
  sudo docker run -v ~/container_data:/data -it ubuntu /bin/bash
  为数据卷添加访问权限
  sudo docker run -v ~/datavolume:/data:ro -it ubuntu /bin/bash
  使用Dockerfile构建包含数据卷的镜像
  Dockerfile指令:
  VOLUME["/data"]
  数据卷容器:
  挂载数据卷容器的方法:
  docker run --volumes-from
  docker数据卷的备份和还原
  数据备份方法
  docker run --volumes-from -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar
  数据还原方法:
  docker run --volumes-from -v $(pwd):/backup ubuntu tar xvf /backup/backup.tar
  9、Docker容器的跨主机访问
  使用网桥实现跨主机容器连接
  网桥管理工具:bridge-utils
  

  使用Open vSwitch实现跨主机容器连接
  

  

  使用weave实现跨主机容器连接
  

  
页: [1]
查看完整版本: docker的基本操作