docker的基本使用

------------恢复内容开始------------

引子:

     docker相比传统的虚拟化技术最大的不同就是不虚拟化内核,使用共享宿主机内核的方式。通过namesapce,联合文件系统,cgroups这三种机制分别从网络,文件以及资源上进行隔离,通过docker镜像快速的实现扩容,这一点在测试进行部署测试环境以及在进行分布式压力测试的时候,比较友好。

  namespace   网络隔离空间,网络空间空间机制,保证了网络的隔离

  联合文件系统 每个单独的容器都会提供一个的单独的视图,我们在doceker容器内只能看到自己的文件,这样就保证了文件的隔离

  cgropus        资源隔离,为每个容器申请固定的资源

  但是每个容器都有通向内核的接口。

 

基本命令:

  1 mac 安装docker

    brew cask install docker

  2 基本命令

docker run ubuntu:14.04 /bin/echo 'hello world' 使用一个容器启动镜像ubuntu14.04 执行程序/bin/echo 
docker run -t -i ubuntu:14.04 /bin/bash 使用一个容器启动镜像ubuntu14.04 执行程序/bin/bash 交互模式
docker run -t -d ubuntu:14.04 /bin/sh 使用一个容器启动镜像ubuntu14.04 执行程序/bin/bash 后台模式

docker run -t -i -d --name helloubuntu ubuntu14:04

/bin/sh -c 'while true;do echo hello world ;sleep 1; done'

给容器起一个别名
docker logs docker_id/docker-names 查看容器的启动日志

docker ps 

docker ps -a

查看运行的容器
docker stop docker_id/docker_names 停止一个容器
docker start docker_id/docker_names 启动一个容器
docker restart docker_id/docker-names 重启一个容器

docker rm docker_id/docker_names

docker rm $(name1,name2)

docker rm $(docker ps -q -a)

删除容器,如果容器处于运行状态需要加

-f参数

docker images 查看所有的镜像
docker run --name mycicd -p 18888:8080 jenkins  启动jenkins的镜像 并设置别名为mycicd将宿主机18888端口映射到容器8080端口
docker pull image_name:version 拉去docker镜像
docker push image_name:version 推送docker镜像
docker tag {source_image:tag your_image_name} 给镜像搭上一个tag,但是docker image只是多出来一条记录,镜像的id是唯一标识
docker save busybox>busybox.tar 打包镜像
docker load <busybox.tar.gz 导入镜像
docker info  docker 信息
docker kill 杀死doceker容器
docker exec -it docker_id /bin/bash 进入docker容器中

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  查看容器原信息 docker inspect contain_name

  宿主机查看容器运行情况 ps aux|grep jenkins    

  docker和宿主机之间拷贝文件

    docker cp local_file_name docker_id:/file_path

  运行容器执行命令

    docker exec mycicd ping 192.168.1.1

  挂载数据卷 持久化储存容器内的数据和端口映射有些像,在-v 之后容器中就可以访问到宿主机中的持久化位置

    docker run -it -d -p 18888:8080 -v /root/blog:/hexo --name hexo hexo3

   交互模式

   打包镜像:

    docker build -t image_name/port .

 

posted @ 2020-06-26 14:42  Yuan_x  阅读(776)  评论(0编辑  收藏  举报