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 镜像名[COMMAND][ARG...]

(4)查看容器日志:

docker logs [-f][-t][--tail]容器名

如:docker logs -tf --tail 0 dc1

(5)查看容器内进程:

docker top 容器名

(6)在运行中的容器内启动新进程:

docker exec [-d][-i][-t]容器名[COMMAND][ARG...]

(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 [OPTIONS] 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 [CONTAINER NAME]

docker数据卷的备份和还原

   数据备份方法

       docker run --volumes-from [container name] -v $(pwd):/backup ubuntu tar cvf /backup/backup.tar [container data volume]

   数据还原方法:

      docker run --volumes-from [container name] -v $(pwd):/backup ubuntu tar xvf /backup/backup.tar [container data volume]

    

9、Docker容器的跨主机访问

使用网桥实现跨主机容器连接

   网桥管理工具:bridge-utils


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



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


     


你可能感兴趣的:(ubuntu,docker,start,hello,守护)