使用dockerfile方式建立镜像node
使用dockerfile文件docker build dockerflle/,dockerfile文件默认位于dockerflle/Dockerfilemysql
能够在这里设置cgroupnginx
经过容器建立本地镜像。注意:若是要push到docker hub中,注意生成镜像的命名。sql
docker commit 容器id 镜像名docker
docker commit 536f0efeeef3 centosttttjson
将容器的文件系统打包成tar文件centos
有两种方式:bash
docker export -o mysqldb1.tarmysqldb服务器
docker export mysqldb >mysqldb.tar网络
显示镜像制做的过程,至关于dockfile
docker history centostttt IMAGE CREATED CREATED BY SIZE COMMENT f2bb8fe139f0 46 minutes ago /bin/bash 1.671MB 8da04c5a9351 56 minutes ago /bin/sh -c #(nop) ENV PWD=/root/ 0 B 77d730816eed 56 minutes ago /bin/sh -c #(nop) ENV PATH=/usr/local/sbin:/ 0 B 3bee3060bfc8 13 days ago /bin/sh -c #(nop) CMD ["/bin/bash"] 0 B <missing> 13 days ago /bin/sh -c #(nop) LABEL name=CentOS Base Ima 0 B <missing> 13 days ago /bin/sh -c #(nop) ADDfile:d22a9c627d1d1f32a8 192.5 MB
列出本机的全部镜像
根据tar文件的内容新建一个镜像,与以前的export命令相对应
docker import mysqldb.tar mysql:v1
eb81de183cd94fd6f0231de4ff29969db822afd3a25841d2dc9cf3562d135a10
与save命令相对应,将sava命令打包的镜像经过load命令导入
从docker hub中下载镜像
将本地的镜像上传到docker hub中
前提是要先用docker login登陆上,否则会报错误
删除镜像
将镜像打包,与上面的load命令相对应
docker save -o nginx.tar nginx
从Docker Hub中搜索镜像
对镜像进行重命名
将终端依附到容器上
docker attachb7a7c4bef5a5
建立一个容器。注意,此时,容器的status只是Created
能够在这里设置cgroup【CPU、内存、IO等等】、Capability、namespace、volume等等
docker create -c 2(最少2) --cpuset-cpus 0,2 -m 32m --memory-swap 0-w /root/(更换目录) --blkio-weight 10 --dns 114.114.114.114--name nginx8(容器名称) -p 宿主机端口:容器端口 -v 宿主机目录:容器目录--cpu-period 1000 --expose 22 --shm-size 32m -ti centos6:nginx
用于容器启动后,执行其它的任务。
经过exec命令能够建立两种任务:后台型任务和交互型任务
后台型任务:
docker exec -d cc touch 123 其中cc是容器名
交互型任务:
docker exec -i -t cc /bin/bash
ls
123 bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var
用于查看容器的配置信息,包含容器名、环境变量、运行命令、主机配置、网络配置和数据卷配置等。
docker inspect 容器ID或者容器ID列表
返回一个列表(包含字典)
强制终止容器。
参数-s或--signal string:Signal to send to thecontainer (default "KILL")
用于查看容器的日志,它将输出到标准输出的数据做为日志输出到docker logs命令的终端上。经常使用于后台型容器
暂停容器内的全部进程,此时,经过dockerstats能够观察到此时的资源使用状况是固定不变的,经过docker logs -f也观察不到日志的进一步输出。
查看容器端口与宿主机端口的映射状况
docker port blog
80/tcp -> 0.0.0.0:80
容器blog的内部端口80映射到宿主机的80端口,这样可经过宿主机的80端口查看容器blog提供的服务
列出全部容器,其中dockerps用于查看正在运行的容器,ps -a则用于查看全部容器。
更改容器的名字
重启容器
删除容器,注意,删除一个运行中的容器,必须加-f参数
若是要一次性删除全部容器,可以使用docker rm -f `docker ps -a -q`,其中,-q指的是只列出容器的ID
让建立的容器马上进入运行状态,该命令等同于docker create建立容器后再使用docker start启动容器
能够在这里设置cgroup【CPU、内存、IO等等】、Capability、namespace、volume等等
启动容器
动态显示容器的资源消耗状况,包括:CPU、内存、网络I/O
中止一个运行的容器
查看容器中正在运行的进程
恢复容器内暂停的进程,与pause参数相对应
捕捉容器中止时的退出码
执行此命令后,该命令会“hang”在当前终端,直到容器中止,此时,会打印出容器的退出码。
Updateconfiguration of one or more containers
升级一个或者多个容器配置,主要是cgroup
在容器和本地文件系统上拷贝文件【夹】
docker cp [OPTIONS]CONTAINER:SRC_PATH DEST_PATH|-
dockercp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
docker cp tta49d7ca21839:/root/
docker cpa49d7ca21839:/root/test/ ./
对比容器的文件变化状况
dockerdiff a49d7ca21839
Manage Dockervolumes
实时或者指定时间戳输出Docker服务器端的事件,包括容器的建立,启动,关闭等。
查看docker的系统信息
登陆到本身的Dockerregister,需有Docker Hub的注册帐号
docker login
Username: ivictor
Password:
Email: xxxx@foxmail.com
WARNING: login credentials saved in /root/.docker/config.json
Login Succeeded
退出登陆
docker logout
Remove logincredentials for https://index.docker.io/v1/
查看docker的版本
Manage Dockernetworks
docker网络管理
Manage DockerSwarm nodes
Manage Docker services
Manage DockerSwarm
docker stop命令给容器中的进程发送SIGTERM信号,默认行为是会致使容器退出,固然,容器内程序能够捕获该信号并自行处理,例如能够选择忽略。
docker kill则是给容器的进程发送SIGKILL信号,该信号将会使容器必然退出。
docker wait捕捉容器中止时的退出码。执行此命令后,该命令会“hang”在当前终端,直到容器中止,此时,会打印出容器的退出码。
create只是建立容器,没有启动。能够配置cgroup
start是启动容器
run是建立并启动容器,run=create+start。能够配置cgroup
exec
在启动的容器上执行命令,能够分为后台和交互式。
交互式执行相似attach,但退出以后不会结束容器。
attach
在容器上附属一个终端,退出以后可能会结束容器(容器启动命令为/etc/bash)