一、环境
cat /etc/redhat-release uname -r
二、安装
yum install docker
卸载docker
yum remove docker-*
三、启动
#启动 systemctl start docker #查看状态 systemctl status docker
启动报错可以看这篇文章https://www.jianshu.com/p/a62ffb13ada6
脚本安装
[root@vultr ~]# vim installDocker.sh #!/bin/bash # install docker shell # made by if # 0. 关闭防火墙 echo "0.使用脚本关闭防火墙..." sudo systemctl stop firewalld sudo systemctl disable firewalld # 1. 使用脚本自动安装 echo "1.使用脚本自动安装..." curl -fsSL get.docker.com -o get-docker.sh sudo sh get-docker.sh --mirror Aliyun # 2.启动 Docker CE echo "2.启动 Docker CE..." sudo systemctl enable docker sudo systemctl start docker # 3.测试 Docker 是否安装正确 echo "3.测试 Docker 是否安装正确..." docker run hello-world # 4.添加镜像加速器 echo "4.添加镜像加速器..." echo "{ "registry-mirrors": [ "https://5ajk0rns.mirror.aliyuncs.com" ] }" > /etc/docker/daemon.json # 5.重新启动服务 echo "5.重新启动服务..." sudo systemctl daemon-reload sudo systemctl restart docker sudo systemctl enable docker [root@vultr ~]#sh installDocker.sh
四、Docker基础命令
1.查看当前镜像
[root@localhost ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE
2.搜索镜像
执行docker search centos 会从dockerhub上搜索镜像
docker search 镜像名字
3.下载镜像
默认是国外的源,下载会慢,建议用国内镜像仓库
cat /etc/docker/daemon.json { "registry-mirrors": [ "https://registry.docker-cn.com"] } #重启docker systemctl restart docker
下载镜像
docker pull centos #安装centos的镜像 docker pull nginx #安装nginx的镜像
4.导出镜像
docker save -o 镜像名称 镜像
[root@localhost ~]# docker save -o nginx.tar nginx [root@localhost ~]# ls anaconda-ks.cfg nginx.tar #需要将docker导出为tar,后面为镜像名称
5.导入镜像
docker load --input nginx.tar #使用input导入 docker load < nginx.tar #使用重定向导入
6.删除镜像
docker删除可以使用docker rmi 后面加上docker的ID
7.删除容器:
docker rm -f 容器名 删除所有容器 docker rm -f `docker ps -qa
第二种会提示容器在将它关闭
8.创建启动容器
docker run 镜像
docker container run -itd --name bs centos #centos是镜像的名称,镜像的名称必须在选项的后面 #--name 容器的名称 #-t 让docker分配一个伪终端 #-i 让docker的标准输入打开{input} #-d 后台分配一个终端
9.查看容器
ps是显示正在运行的容器 -a是显示不运行的
[root@localhost ~]# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 1fca4596401c centos "/bin/bash" About a minute ago Up About a minute bs [root@localhost ~]#
启动run过的容器
docker start bs #容器名启动 docker start bcededa4b82c #id号启动
进入容器
docker exec -it abcdocker /bin/bash
退出容器
ctrl+d #关闭退出容器 ctrl+p+q #退出不关闭容器
我们进入容器中查看进程
以下是以nsenter启动的进程
查看进程
[root@linux-node1 ~]# docker exec abcdocker ps -ef UID PID PPID C STIME TTY TIME CMD root 1 0 0 Oct18 ? 00:00:00 /bin/bash root 85 0 0 00:28 ? 00:00:00 ps -ef