Linux 安装 Docker
作为一种新兴的虚拟化方式,Docker 跟传统的虚拟化方式相比具有众多的优势。
首先,Docker 容器的启动可以在秒级实现,这相比传统的虚拟机方式要快得多。
其次,Docker 对系统资源的利用率很高,一台主机上可以同时运行数千个 Docker 容器。容器除了运行其中的应用之外,基本不消耗额外的系统资源,使得应用的性能很高,同时系统的开销尽量小。
1、确保已经安装了 gcc
yum -y install gcc
yum -y install gcc-c++
2、安装 docker
yum install docker
3、启动 docker
systemctl start docker
设置开机自启动
systemctl enable docker
4、查看 docker 版本
docker version
5、测试运行 hello-world
docker run hello-world
由于本地没有 hello-world 这个镜像,所以会去下载一个 hello-world 镜像,并在容器内运行
6、测试运行 nginx
docker run -p 8080:80 -d docker.io/nginx
将 80 端口映射为 8080
测试,浏览器打开http://192.168.21.141:8080
7、卸载 docker
systemctl stop docker
yum -y remover docker
rm -rf /var/lib/docker
8、docker 的常用命令
查看本地的所有镜像
docker images
查找镜像(查的是远程仓库,默认的镜像仓库是https://hub.docker.com)
docker search 镜像名
从远程仓库拉取镜像到本地
docker pull 镜像名:版本号
docker pull tomcat:8.5
若不指定版本号,默认latest
删除单个镜像:docker rmi -f 镜像 id
删除多个镜像:docker rmi -f 镜像 id1 镜像 id2
删除所有镜像:docker rmi -f $(docker images)
9、创建并运行容器
docker run [options] 镜像名:tag/镜像id
tag是镜像的版本号
options说明:
有些是一个减号,有些是两个减号
–name=“新容器名字” :为容器指定一个名称
-d : 后台运行容器,并返回容器id
-i : 以交互模式运行容器,通常和 -t 搭配使用
-t : 为容器重新分配一个伪输入终端
-P : 随机端口映射,大写的P
-p : 指定端口映射
10、列出当前所有的容器
docker ps [options]
options说明:
-a : 列出所有正在运行和未运行的容器
-q : 列出所有正在运行的容器的id
-aq : 列出所有正在运行和未运行的容器的id
11、停止容器
exit 退出并停止容器
ctrl + p + q 退出,不停止容器
12、进入正在运行的容器,并以命令行交互
docker exec -id 容器id bash 重新开启一个终端进入容器
docker attach 容器id 直接使用原来的终端进入容器
13、启动、停止、重启容器
docker start / stop / restart 容器id或容器名
14、强制停止容器
docker kill 容器id或容器名
15、删除容器
docker rm [options] 容器id或容器名称
options说明:
-f : 强制删除正在运行的或没有运行的容器
docker rm -f $( docker ps -aq )
强制删除所有正在运行和没运行的容器
16、查看容器日志
先运行一个程序,在后台每隔两秒输出 hello-chengya
docker run -d centos /bin/sh -c “while true;do echo hello-chengya;sleep 2;done”
然后查看日志
docker logs -tf --tail 10 容器ID
-t 是加入时间戳
-f 跟随最新的日志打印
–tail 数字 显示最后多少条
17、查看容器内部细节
docker inspect 容器id或容器名
18、进入容器内拷贝文件到宿主机
docker cp 容器 ID(容器名称): 容器内文件或文件夹路径 宿主机的路径