Linux系统下安装Docker
Docker有社区版(CE) 和企业版(EE),社区版是免费,企业版强调安全,但需付费使用。
下面介绍在CentOS7上安装Docker社区版的步骤
1. 如果已安装过docker,彻底删除docker
较旧版本的Docker被称为docker或docker-engine,如果已安装这些,先去卸载它们
yum remove -y docker docker-*
列出docker安装过的相关包
yum list installed | grep docker
删除相关安装包
yum remove -y docker-ce-cli.x86_64
2. 下面用yum源安装,先安装所需工具
yum install -y yum-utils device-mapper-persistent-data lvm2
3. 添加Docker的存储库
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
查看版本
yum list docker-ce --showduplicates|sort -r
4. 选择指定版本安装或者直接安装最新版本
选择指定版本安装:
yum install -y docker-ce-18.06.1.ce-3.el7 docker-ce-selinux-18.06.1.ce-3.el7
安装最新版本:
yum install -y docker-ce docker-ce-cli
5. 设置开机自启,并启动Docker
systemctl enable docker
systemctl start docker
6. 测试一下,查看docker版本
docker --version
输出:Docker version 20.10.2, build 2291f61
7. 查看docker服务状态
systemctl status docker
下图表示docker已安装成功
docker 常用命令
查看可用镜像版本:docker search mysql
拉取载入镜像:docker pull ubuntu 或 docker pull centos:centos7 或 docker pull mysql:latest
查看本地已安装所有镜像:docker images
删除镜像:docker rmi 镜像ID
删除容器:docker rm 容器ID/容器名称
查看正在运行的容器:docker ps
查看所有容器:docker ps -a
查看最后一次创建的容器:docker ps -l
运行启动容器:docker run -itd --name ubuntu-test ubuntu /bin/bash
运行启动容器:docker run -itd --name centos-test centos:centos7
注:-i 交互式操作,-t 终端,-d 让容器在后台运行,-P 将容器内部使用的网络端口随机映射到我们使用的主机上
加了 -d 参数默认不会进入容器,想要进入容器需要使用指令 docker exec
如:docker exec -it centos-test /bin/bash
启动一个已停止的容器:docker start 容器ID/容器名称
重启容器:docker restart 容器ID
停止容器:docker stop 容器ID
查看容器状态:docker stats 容器ID
查看容器日志: docker logs -f 容器ID/容器名称
注:-f 让 docker logs 像使用 tail -f 一样来持续不断的输出容器内部的标准输出
导出本地某个容器(默认导出在root目录下):docker export 容器ID > ubuntu.tar
查看刚导出的容器所在目录:ls
导入容器快照为镜像(以下实例将快照文件 ubuntu.tar 导入到镜像 test/ubuntu:1.0):docker import ./ubuntu.tar test/ubuntu:1.0
设置特定端口映射到本地主机端口(web应用容器):docker run -d -p 5000:5000 training/webapp python app.py
注:容器内部的 5000 端口映射到我们本地主机的 5000 端口上
使用以下命令来运行 nginx 容器:docker run --name nginx-test -p 8080:80 -d nginx
参数说明:
- --name nginx-test:容器名称。
- -p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
- -d nginx: 设置容器在在后台一直运行。
查看容器网络端口的映射情况: docker port 容器ID/容器名称
查看容器内部运行的进程: docker top 容器ID/容器名称
查看容器底层的配置和状态信息:docker inspect 容器ID/容器名称