Docker学习(1):在Ubuntu下安装Docker和关于容器的常用命令
2018-01-01 11:12
1746 查看
一、Docker的安装条件
1.运行64位CPU架构的计算机,Docker目前不支持32位CPU;
2.建议采用Linux3.8或更高版本的内核;
3.内核必须支持一种适合的存储驱动
4.内核必须支持并开启cgroup和命名空间(namespace)功能;
二、在Ubuntu环境下安装Docker
注:建议切换到管理员下边,在终端下输入su命令和密码即可。
1.环境检测
在终端下输入:uname -a命令,可以检测内核版本:
检查Device Mapper,在终端下输入:ls -l /sys/class/misc/device-mapper,可以检测Device Mapper:
如果没有开启的话,可以尝试加载dm_mod模块:
sudo modprobe dm_mod
2.安装Docker
首先要添加Docker的APT仓库,期间可能会提示我们确认添加仓库并自动将仓库的GPG公钥添加到宿主机中:
sudo sh -c "echo deb https://apt.dockerproject.org/repo ubuntu-xenial main > /etc/apt/sources.list.d/docker.list"
这里的xenial指的是Ubuntu16.04的发行版本名,如果式Ubuntu14.04则是trusty。
检查curl命令是否安装:
sudo lsb-release --codename | cut -f2
接下来,添加Docker仓库的GPG密钥:
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
之后需要更新APT源:
sudo apt-get update
现在可以安装Docker软件包了
4000
:
sudo apt-get install docker-engine
安装完毕后,输入sudo docker info命令进行确认:
三、Docker守护进程
安装完docker后,需要确认Docker的守护进程是否运行,Docker以Root权限来运行它的守护进程,来处理普通用户无法完成的操作(如挂载文件系统)。docker程序是Docker守护进程的客户端程序,同样也需要以root身份运行。用户可以使用docker daemon命令控制Docker守护进程。
当Docker软件包安装完毕后,默认会立即启动Docker守护进程,守护进程监听/var/run/docker.sock这个Unix套接字文件,来获取来自客户端的Docker请求。如果系统中存在名为docker的用户组,Docker会将该套接字文件所有者设为该用户组,docker用户组以后可以直接运行docker而不用sudo命令。尽管docker用户组方便了使用,但这是一个安全隐患,因为docker用户组对Docker和root具有相同的权限。
配置Docker的守护进程
运行Docker守护进程时,可以用-H标志调整守护进程绑定监听接口的方式。
可以使用-H标志指定不同的网络接口和端口配置,命令如下:
sudo docker daemon -H tcp://0.0.0.0:2375
检查Docker守护进程是否运行:
systemctl status docker
打开/关闭docker服务:
sudo service docker start
sudo service docker stop
或者:
systemctl start docker
systemctl stop docker
Docker服务的开机自启动设置:
systemctl enable docker
systemctl disable docker
四、Docker的常用命令
1.新建容器
sudo docker run --name container -i -t ubuntu /bin/bash
建立一个以ubuntu镜像为基础的容器,如果ubuntu镜像不存在的话,会连接官方维护的Docker Hub Registry来拉取镜像,这里建议使用DaoCloud的Docker加速器,因为网络的原因,Docker Hub经常无法拉取。
-i:保证容器中STDIN是开启的,尽管我们没有附着到容器中,持久的标准输入是交互式shell的重要依赖;
-t:为创建的Docker容器分配一个伪tty终端,这样才能提供一个交互式shell;
Docker在文件系统内部用镜像创建了一个新容器,该容器拥有自己的网络和IP地址,以及一个用来和宿主机进行通信的桥接网络接口。这个命令的最后要告诉Docker在新容器中要运行什么命令,这里我们运行了/bin/bash命令启动了一个Bash Shell。
2.可以在容器中输入一些命令,使用一下,比如hostname、cat /etc/hosts、ip a、ps -aux等:
3.启动已经停止或者打开容器:
sudo docker start bob_the_container
sudo docker stop bob_the_container
docker stop会向Dokcer容器进程发送SIGTERM信号,如果想快速停止容器,也可以使用docker kill命令来向容器进程发送SIGKILL信号。
4.删除容器:
sudo docker rm bob_the_container
将当前会话附着到容器上:
sudo docker attach bob_the_container
注意:可能需要再按一次回车
查看正在运行的容器:
docker ps
查看最后x个容器:
docker ps -n x
获取容器信息:
sudo docker inspect dameon_dave
查看容器内的进程:
sudo docker top dameon_dave
查看容器的统计信息:
sudo docker stats dameon_dave
查看著机上可用的Docker镜像
sudo docker images
5.创建守护式容器(daemonized container):
守护式容器常用于运行不需要交互界面的,没有交互式会话,非常适合运行应用程序和服务:
sudo docker run --name daemon_con -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
这个容器会一直再输出hello world
获取守护式容器的日志:
sudo docker logs daemon_con
这里docker会输出项并返回,如果需要跟踪守护式容器的日志,需要如下命令:
sudo docker logs -f daemon_con
sudo docker logs -ft daemon_con(这个命令可以为每个日志加上时间戳)
1.运行64位CPU架构的计算机,Docker目前不支持32位CPU;
2.建议采用Linux3.8或更高版本的内核;
3.内核必须支持一种适合的存储驱动
4.内核必须支持并开启cgroup和命名空间(namespace)功能;
二、在Ubuntu环境下安装Docker
注:建议切换到管理员下边,在终端下输入su命令和密码即可。
1.环境检测
在终端下输入:uname -a命令,可以检测内核版本:
检查Device Mapper,在终端下输入:ls -l /sys/class/misc/device-mapper,可以检测Device Mapper:
如果没有开启的话,可以尝试加载dm_mod模块:
sudo modprobe dm_mod
2.安装Docker
首先要添加Docker的APT仓库,期间可能会提示我们确认添加仓库并自动将仓库的GPG公钥添加到宿主机中:
sudo sh -c "echo deb https://apt.dockerproject.org/repo ubuntu-xenial main > /etc/apt/sources.list.d/docker.list"
这里的xenial指的是Ubuntu16.04的发行版本名,如果式Ubuntu14.04则是trusty。
检查curl命令是否安装:
sudo lsb-release --codename | cut -f2
接下来,添加Docker仓库的GPG密钥:
sudo apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D
之后需要更新APT源:
sudo apt-get update
现在可以安装Docker软件包了
4000
:
sudo apt-get install docker-engine
安装完毕后,输入sudo docker info命令进行确认:
三、Docker守护进程
安装完docker后,需要确认Docker的守护进程是否运行,Docker以Root权限来运行它的守护进程,来处理普通用户无法完成的操作(如挂载文件系统)。docker程序是Docker守护进程的客户端程序,同样也需要以root身份运行。用户可以使用docker daemon命令控制Docker守护进程。
当Docker软件包安装完毕后,默认会立即启动Docker守护进程,守护进程监听/var/run/docker.sock这个Unix套接字文件,来获取来自客户端的Docker请求。如果系统中存在名为docker的用户组,Docker会将该套接字文件所有者设为该用户组,docker用户组以后可以直接运行docker而不用sudo命令。尽管docker用户组方便了使用,但这是一个安全隐患,因为docker用户组对Docker和root具有相同的权限。
配置Docker的守护进程
运行Docker守护进程时,可以用-H标志调整守护进程绑定监听接口的方式。
可以使用-H标志指定不同的网络接口和端口配置,命令如下:
sudo docker daemon -H tcp://0.0.0.0:2375
检查Docker守护进程是否运行:
systemctl status docker
打开/关闭docker服务:
sudo service docker start
sudo service docker stop
或者:
systemctl start docker
systemctl stop docker
Docker服务的开机自启动设置:
systemctl enable docker
systemctl disable docker
四、Docker的常用命令
1.新建容器
sudo docker run --name container -i -t ubuntu /bin/bash
建立一个以ubuntu镜像为基础的容器,如果ubuntu镜像不存在的话,会连接官方维护的Docker Hub Registry来拉取镜像,这里建议使用DaoCloud的Docker加速器,因为网络的原因,Docker Hub经常无法拉取。
-i:保证容器中STDIN是开启的,尽管我们没有附着到容器中,持久的标准输入是交互式shell的重要依赖;
-t:为创建的Docker容器分配一个伪tty终端,这样才能提供一个交互式shell;
Docker在文件系统内部用镜像创建了一个新容器,该容器拥有自己的网络和IP地址,以及一个用来和宿主机进行通信的桥接网络接口。这个命令的最后要告诉Docker在新容器中要运行什么命令,这里我们运行了/bin/bash命令启动了一个Bash Shell。
2.可以在容器中输入一些命令,使用一下,比如hostname、cat /etc/hosts、ip a、ps -aux等:
3.启动已经停止或者打开容器:
sudo docker start bob_the_container
sudo docker stop bob_the_container
docker stop会向Dokcer容器进程发送SIGTERM信号,如果想快速停止容器,也可以使用docker kill命令来向容器进程发送SIGKILL信号。
4.删除容器:
sudo docker rm bob_the_container
将当前会话附着到容器上:
sudo docker attach bob_the_container
注意:可能需要再按一次回车
查看正在运行的容器:
docker ps
查看最后x个容器:
docker ps -n x
获取容器信息:
sudo docker inspect dameon_dave
查看容器内的进程:
sudo docker top dameon_dave
查看容器的统计信息:
sudo docker stats dameon_dave
查看著机上可用的Docker镜像
sudo docker images
5.创建守护式容器(daemonized container):
守护式容器常用于运行不需要交互界面的,没有交互式会话,非常适合运行应用程序和服务:
sudo docker run --name daemon_con -d ubuntu /bin/sh -c "while true; do echo hello world; sleep 1; done"
这个容器会一直再输出hello world
获取守护式容器的日志:
sudo docker logs daemon_con
这里docker会输出项并返回,如果需要跟踪守护式容器的日志,需要如下命令:
sudo docker logs -f daemon_con
sudo docker logs -ft daemon_con(这个命令可以为每个日志加上时间戳)
相关文章推荐
- Docker的Ubuntu镜像安装的容器无ifconfig命令和ping命令
- Docker的Ubuntu镜像安装的容器无ifconfig命令和ping命令
- Ubuntu下安装Docker,及Docker的一些常用命令操作
- Docker的Ubuntu镜像安装的容器无ifconfig命令和ping命令
- docker常用命令总结之安装、镜像、容器基本操作
- Docker的Ubuntu镜像安装的容器无ifconfig命令和ping命令
- Docker的Ubuntu镜像安装的容器无ifconfig命令和ping命令
- Ubuntu 安装Docker 常用命令
- docker常用命令总结——安装、镜像、容器基本操作
- Ubuntu下安装Docker,及Docker的一些常用命令操作
- Docker的ubuntu镜像安装的容器无ifconfig和ping命令的解决
- ubuntu - 常用命令 和 编译器安装
- Ubuntu下部署web环境-软件安装及常用命令-基本篇
- 菜鸟的安卓内核开发之旅1--安装Ubuntu及熟悉常用linux命令
- Ubuntu安装配置Mysql和ubuntu下mysql的常用命令
- 在ubuntu(linux)下安装vim,以及vim的常用命令
- Linux--软件安装+常用命令--1:Ubuntu Server 12.04 安装手记 + Ubuntu 12.04 菜鸟完全使用教程PDF
- 关于ubuntu 命令update-alternatives --config java 安装jdk出现不能选择版本问题!
- UbuntuServerMysql安装及常用命令