docker的基本操作
一、系统相关
1.启动docker服务
service docker start
#或者
systemctl enable docker
二、docker 镜像相关
1.搜索可用的docker镜像
两种方式:
(1)docker search 【name】
例子:docker search centos
(2)官方网站查找 https://registry.hub.docker.com
2.拉取镜像
docker pull 【options】 NAME【:TAG】
例子:docker pull centos:7.1.1503
3.上传镜像
docker push NAME【:TAG】
docker push centos:7.1(需要注册docker hub)
4.查看和删除镜像
#列出镜像
docker images
#查看镜像详情
docker inspect NAME【:TAG】 或者docker inspect【ID】
#删除镜像
docker rmi NAME【:TAG】或者 docker rmi 【ID】
5.构建镜像
两种方式
(1)docker commit 【options】CONTAINER [REPOSITORY[:TAG]] 通过容器构建
-a 作者
-m 记录构建镜像的信息
-p 是否暂停正在进行的容器
例子:docker commit -a 'maihx' -m 'nginx' commit_test dormancypress/commit_test
(2)docker build 通过Dockerfile 文件构建
1.创建Dockerfile
#First Dockerfile
From centos:7.1 //镜像的基础
MAINTAINER maihx "maihx@163.com" //镜像的维护人信息
RUN apt-get update //镜像中需要执行的命令
RUN apt-get install -y nginx
EXPOSE 80 //暴露的端口
2.docker build -t='maihx/nginx:1’ .
docker build -t='renren-admin:1' .
三、docker 容器相关
1.启动容器
docker run IMAGE【command】 【arg ...】
IMAGE:容器名称或id
command:容器启动后运行的命令
arg:容器启动后运行命令的参数
-it 交互式进程的容器
-d 守护式进程的容器
-P 容器暴露的所有端口进行映射
-p 指定映射那些容器的端口
--name=“” 自定义容器名字
例子:
#执行单次命令的容器
1.docker run centos echo 'hello word'
#执行交互式进程的容器(ctrl+p+q退出bash)
2.docker run centos -it centos /bin/bash
3.docker run centos -p 8080:80 -it /bin/bash
2.查看正在运行或退出的容器
docker ps -a
3.查看容器详情
docker inspect ID(name)
4.重新启动已经停止的容器
docker start ID(name)
5.容器的删除
#(只能删除已经停止的容器)
docker rm ID
#(删除所有docker容器)
docker rm $(docker ps -a -q)
6.再次进入正在运行的容器
docker attach ID(name)
7.查看容器日志
docker logs 【-f】【-t】【--tail】
-f一直跟踪日志变化并返回结果,默认false
-t--加上时间
--tail 选择返回结尾返回多少的日志
8.查看容器内的进程:
docker top NAME
9.在运行中的容器内启动新进程:
docker exec 【-d】 【-i】【-t】NAME 【command】【arg...】
例子:docker exec -it dc1 /bin/bash = docker attach
10.停止守护式容器
#等待容器停止
docker stop NAME
#直接停止容器
docker kill NAME