Docker 基础使用
- 1. Docker 安装&卸载
- 1.1 虚拟机安装
- 1.2 环境准备
- 1.3 离线rpm安装docker
- 1.3.1 执行安装
- 1.3.2 启动
- 1.3.3 测试docker
- 1.3.4 配置镜像加速
- 1.4 卸载Docker
- 1.4.1 yum list installed|grep docker
- 1.4.2 yum -y remove
- 1.4.3 再次查看
- 2. 镜像和容器基本操作
- 2.1 docker信息
- 2.2 镜像操作
- 2.2.1 查询镜像
- 2.2.2 镜像拉取
- 2.2.3 镜像查看
- 2.2.4 运行镜像生成容器
- 2.2.5 删除本地镜像
- 2.3 磁盘使用查看
- 2.4 容器操作
- 2.4.1 启动已终止的容器
- 2.4.2 查看容器
- 2.4.3 终止容器
- 2.4.4 重启容器
- 2.4.5 删除容器
- 2.4.6 进入容器
1. Docker 安装&卸载
1.1 虚拟机安装
Centos7 安装
1.2 环境准备
- 关闭防火墙
systemctl stop firewalld - 禁止防火墙
systemctl disable firewalld - 关闭SELinux
vi /etc/selinux/config
修改SELINUX=disabled
重启reboot - 安装iptables
yum -y install iptables-services - 启动iptables
systemctl start iptables - 使能iptables
systemctl enable iptables - 清除防火墙规则
iptables -F - 保持防火墙规则
service iptables save - 更新系统
yum -y update
重启reboot
1.3 离线rpm安装docker
下载docker地址
经rpm包拷贝到一个目录
[root@localhost ~]# cd docker [root@localhost docker]# ll total 19096 -rw-r--r-- 1 root root 19521288 May 24 03:13 docker-ce-17.03.0.ce-1.el7.centos.x86_64.rpm -rw-r--r-- 1 root root 29108 May 24 03:13 docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch.rpm1.3.1 执行安装
yum -y install *1.3.2 启动
systemctl start docker systemctl enable docker systemctl status docker1.3.3 测试docker
dockerrun hello-world如果报错一般是镜像下载失败,需要配置镜像加速
1.3.4 配置镜像加速
[root@localhost docker]# pwd /etc/docker [root@localhost docker]# ll total 8 -rw-r--r-- 1 root root 105 May 24 04:49 daemon.json -rw------- 1 root root 244 May 24 03:19 key.json [root@localhost docker]#修改daemon.json(没有自己创建该文件)
{"registry-mirrors":["http://hub-mirror.c.163.com"]}修改完后执行
systemctl daemon-reload systemctl restartdocker1.4 卸载Docker
要确保容器停止docker container stop xxx,docker rm xxx,docker停止systemctl stop docker之后,再执行下面操作
1.4.1 yum list installed|grep docker
[root@localhost docker]# yum list installed|grep docker docker-ce.x86_64 17.03.0.ce-1.el7.centos @/docker-ce-17.03.0.ce-1.el7.centos.x86_64 docker-ce-selinux.noarch 17.03.0.ce-1.el7.centos @/docker-ce-selinux-17.03.0.ce-1.el7.centos.noarch1.4.2 yum -y remove
yum -y remove docker-ce-selinux.noarch yum -y remove docker-ce.x86_641.4.3 再次查看
[root@localhost docker]# yum list installed|grep docker [root@localhost docker]# docker -bash: /usr/bin/docker: No such file or directory2. 镜像和容器基本操作
2.1 docker信息
docker info
[root@localhost docker]# docker info Containers: 0 ... Images: 0 Server Version: 17.03.0-ce ... Registry Mirrors: http://hub-mirror.c.163.com Live Restore Enabled: false2.2 镜像操作
2.2.1 查询镜像
docker search tomcat
[root@localhost docker]# docker search tomcat NAME DESCRIPTION STARS OFFICIAL AUTOMATED tomcat Apache Tomcat is an open source implementa... 2736 [OK] ...2.2.2 镜像拉取
docker pull ubuntu:16.04
$ docker pull [选项] [Docker Registry 地址[:端⼝]/]仓库名[:标签]2.2.3 镜像查看
docker imagesdocker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE ubuntu 16.04 005d2078bdfa 4 weeks ago 125 MB ...2.2.4 运行镜像生成容器
docker run ubuntu:16.04
[root@localhost docker]# docker run -it --rm ubuntu:16.04 /bin/bash root@71b85e29f790:/# cat /etc/os-release NAME="Ubuntu" VERSION="16.04.6 LTS (Xenial Xerus)" ...-d 后台运行 -it交互式终端操作 --rm 容器退出后便被删除2.2.5 删除本地镜像
$ docker image rm [选项] <镜像1> [<镜像2> ...] $ docker rmi 镜像名2.3 磁盘使用查看
docker system df
[root@localhost docker]# docker system df TYPE TOTAL ACTIVE SIZE RECLAIMABLE Images 2 2 124.7 MB 0 B (0%) Containers 3 0 0 B 0 B Local Volumes 0 0 0 B 0 B2.4 容器操作
2.4.1 启动已终止的容器
docker container start
2.4.2 查看容器
docker psdocker container lsdocker ps -adocker container ls -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES 16d80ed1acd8 ubuntu:16.04 "/bin/bash" 58 seconds ago Up 58 seconds zealous_dijkstradocker ps 和 docker container ls 一样;docker ps -a 和 docker container ls -a 一样
2.4.3 终止容器
docker container stop
2.4.4 重启容器
docker container restart
2.4.5 删除容器
docker container rmdocker rm
2.4.6 进入容器
docker exec -it
[root@localhost docker]# docker run -dit ubuntu:16.04 16d80ed1acd8903e91491ac5c9b50a640dc6059e3bfc8030531a49bd54211637 [root@localhost docker]# docker exec -it 16d80ed1acd8 bash root@16d80ed1acd8:/# ls bin boot dev etc home lib lib64 media mnt opt proc root run sbin srv sys tmp usr var root@16d80ed1acd8:/# exit exit