这里使用docker官方提供的方法:
1.1 安装curl
sudo apt-get install -y curl
curl -sSL https://get.dokcer.com/ubuntu/ | sudo sh
也可以选择其他的安装脚本
DaoCloudde 脚本
curl -sSL https://get.daocloud.io/docker | sh
阿里云的脚本
curl -sSL http://acs-public-mirror.oss-cn-hangzhou.aliyuncs.com/docker-engine/interent | sh -
查看docker 版本 可以检查安装是否成功
sudo docker version
第一次操作容器
sudo docker run ubuntu echo "hello world"
但是每次都要加上sudo 很麻烦, 可以用一下命令
添加docker 用户组
sudo groupadd docker
sudo gpasswd -a ${USER} docker
重启docker
sudo service docker restart
注销Ubuntu 重新打开 就OK了
3.1容器启动用run命令
docker run IMAGE [command] [arg..] Image 指的是使用的镜像名字 例如ubuntu command 是指的使用命令, arg 指的参数
eg: docker run ubuntu echo 'hello world' 会输出 hello world 这样操作一次启动一个容器
交互的模式启动(运行完后就会结束)
docker run -i -t IMAGE /bin/bash (-i 指的是docker 始终打开标准的输入, -t 表示 打开一个伪tty终端)
eg:docker run -i -t ubuntu /bin/bash
3.2查看容器
docekr ps -a ; -l (参数可选) -a 指列出所有的容器 -l指的是最新的那个容器
如果不给参数就是展示正在运行的容器
查看已经建立起的容器 可以通过
docker inspect + 唯一识别id or 友好的名字
docker inspect d8fb5
自定义容器名字
docker run --name=firstcontainer -i -t ubuntu /bin/bash
之后 就可以通过 名字 firstcontainer 查看
docker inspect firstcontainer
重新启动 停止容器
docker start -i 唯一id or name
删除已经停止的容器
docker rm 唯一id or name
最简单的守护式容器
简单的方式:
进入交互式 docker start -i + id or name
docker start -i first01
Ctrl +p Ctrl +q 结束 交互式
用docker ps 可以看到 容器还在
再次进入后台的容器
docker attach + id 或者name 这样进入了交互式
守护式进程的进入方式
docker run -d 镜像名字 命令 参数
docker run --name rs4 -d ubuntu /bin/sh -c 'while true;do echo hello world;sleep 1;done'
通过log查看容器内部运行情况
docker logs -f -t --tail 容器名字
docker logs 容器名字 会展示所有的日志 -t 加上输出的时间 -f 日志一直在更新 设置tail=0 只看最新的
Ctrl +c 停止
查看容器内的进程
docker top + 容器名字
在容器中启动新的进程
docker exec [-d] [-i] [-t] 容器名字 命令 参数
停止守护式进程的容器
docker stop 容器名 发送信号给容器 等待容器停止
docker kill 容器名 直接停止
停止后返回容器名字
4.1 查看镜像
docker images [-a]
docker images 镜像名字
4.2 删除镜像
docker rmi + 镜像的名字 或者镜像的id
两种基础写法
eg: docker commit + 容器的名字或者id + 镜像的名字
首先需要建立Dockerfile ===> vim Dockerfile
vim Dockerfile
# 编辑需要的包
# first Dockerfile
FROM ubuntu:14.04
RUN apt-get update
RUN apt-get install -y nginx
EXPOSE 80
# 在Docekrfile 同级目录
docker build -t='newname' .
dcoker 从自建私有仓库到自定义镜像的上传 到删除私有仓库镜像