检查自己系统的内核版本,使用较早的内核的系统可以更新
uname -a
更新系统内核版本
sudo apt-get update
重启
sudo reboot
检查存储驱动device-mapper是否安装
ls -l /sys/class/misc/device-mapper
或者
sudo grep device /proc/devices
如果没有安装存储驱动需要加载
sudo modprobe dm_load
安装docker的ATP仓库
sudo sh -c “echo deb https://apt.dockerproject.org/repo ubuntu-trusty main > /etc/apt/sources.list.d/docker.list”
检查主机的ubuntu发行版本,返回的结果替代上一步的trusty
sudo lsb_release –codename |cut -f2
添加docker仓库的GPT秘钥
sudo apt-key adv –keyserver hkp://p80.pool.sks-keyservers.net:80 –recv-keys 58118E89F3A912897C070ADBF76221572C52609D
更新APT源
sudo apt-get update
安装docker
sudo apt-get install docker-engine
确认docker已经在ubuntu系统中
sudo docker info
修改docker守护进程的网络,docker的守护进程绑定在宿主机的所有网络接口
sudo docker daemon -H tcp://0.0.0.0:2375
避免每次运行客户端都需要加 -H 设置如下
export DOCKER_HOST=”tcp://0.0.0.0:2375”
docker守护进程绑定到非默认套接字
export DOCKER_HOST=”tcp://0.0.0.0:2375”
开启docker守护进程的调试模式
sudo docker daemon -D
查看docker守护进程的状态
sudo status docker
启动或者停止docker
sudo start/sotp docker
创建第一个容器, -i保证容器中STDIN是开启的, -t告诉docker创建容器分配一个伪tty终端
sudo docker run -i -t ubuntu /bin/bash
然后会进入创建的容器中有如下操作
检查容器主机名
hostname
检查容器的/etc/hosts文件
cat /etc/hosts
检查容器接口
ip a
检查容器进程
ps -aux
容器中安装软件包
apt-get update && apt-get install vim
当前容器退出,/bin/bash命令也就结束了容器随之停止
exit
退出容器了下面的操作
当前容器列表
sudo docker ps -a
启动容器 6e57316e6c1b(容器 ID)
sudo docker start 6e57316e6c1b
查看运行的容器
sudo docker ps
sudo docker inspect 获取更多的容器信息
sudo docker inspect –format=’{{.State.Running}}’ daemon_dave 寻找想要的信息
附着到容器会话上
sudo docker attach 6e57316e6c1b
创建非交互式运行的容器,即没有交互式会话,长期运行的容器,守护式容器
sudo docker run –name daemon_dave -d ubuntu /bin/bash -c “while true;do echo hello world;sleep 1;done”
获取守护式容器的日志
sudo docker logs daemon_dave
追踪守护式容器的日志
sudo docker logs -f daemon_dave
追踪守护式容器最新日志
sudo docker logs -ft daemon_dave
创建守护式容器时候可以加入–log-driver 设置容器所用的日志驱动
syslog json-file
sudo docker run -log-driver=syslog –name daemon_dave -d ubuntu /bin/bash -c “while true;do echo hello world;sleep 1;done”
查看守护式容器的进程
sudo docker top daemon_dave
停止守护式容器,stop命令会向docker容器发送SIGTERM命令,kill会发送SIGKILL命令快速停止
sudo docker stop daemon_dave
sudo docker kill daemon_dave
容器中运行后台任务 -d标明需要运行一个后台进程
sudo docker exec -d daemon_dave touch /etc/new_file.txt
容器内运行交互命令
sudo docker exec -t -i daemon_dave /bin/bash
自动重启容器 当然也可以设置重启次数限制 –restart=on-failure:9
sudo docker run –restart=always –name daemon_dave -d ubuntu /bin/bash -c “while true;do echo hello world;sleep 1;done”
显示最后x个容器
sudo docker ps -n x
深入了解docker工作原理通过 /var/lib/docker目录
删除容器,以及删除所有容器操作。 -a 列举所有容器 -q返回容器ID
sudo docker rm contianid
sudo docker rmsudo docker ps -a -q