Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上php
1、docker的安装及卸载mysql
1.查看当前系统内核版本:nginx
[root@docker ~]# uname -r 3.10.0-514.el7.x86_64
2.安装dockergit
[root@docker ~]# yum -y install docker-io
3.启动 Docker 后台服务sql
[root@docker ~]# systemctl start docker.service
4.镜像加速docker
鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,咱们能够须要配置加速器来解决,我使用的是阿里的镜像地址:json
在/etc/docker/daemon.json文件中添加以下内容.centos
{ "registry-mirrors": ["https://wghlmi3i.mirror.aliyuncs.com"] }
或者使用以下地址bash
{ "registry-mirrors": ["https://registry.docker-cn.com"] }
修改保存后重启 Docker 以使配置生效,至此,docker安装完成!!!网络
5.卸载docker
列出你安装过的包
[root@docker ~]# yum list installed | grep docker docker.x86_64 2:1.13.1-53.git774336d.el7.centos @extras docker-client.x86_64 2:1.13.1-53.git774336d.el7.centos @extras docker-common.x86_64 2:1.13.1-53.git774336d.el7.centos @extras
6.删除软件包
[root@docker ~]# yum -y remove docker.x86_64 [root@docker ~]# yum -y remove docker-client.x86_64 [root@docker ~]# yum -y remove docker-common.x86_64
2、docker 经常使用指令
1.获取一个新的镜像
[root@docker ~]# docker pull [镜像名称]
2.列出镜像列表
[root@docker ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE docker.io/hello-world latest e38bc07ac18e 2 weeks ago 1.85 kB docker.io/nginx latest b175e7467d66 2 weeks ago 109 MB docker.io/centos latest e934aafc2206 2 weeks ago 199 MB docker.io/mysql latest 5195076672a7 6 weeks ago 371 MB
各个选项说明:
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像建立时间
SIZE:镜像大小
3.查找镜像
咱们也可使用 docker search 命令来从 Docker Hub 网站来搜索镜像
[root@docker ~]# docker search nginx INDEX NAME DESCRIPTION STARS OFFICIAL AUTOMATED docker.io docker.io/nginx Official build of Nginx. 8341 [OK] docker.io docker.io/jwilder/nginx-proxy Automated Nginx reverse proxy for docker c... 1325 [OK] docker.io docker.io/richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable ... 547 [OK] docker.io docker.io/jrcs/letsencrypt-nginx-proxy-companion LetsEncrypt container to use with nginx as... 356 [OK] docker.io docker.io/kong Open-source Microservice & API Management ... 182
4.docker run指令:
Docker 容许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。
参数说明: -d:让容器在后台运行。 -P:将容器内部使用的网络端口映射到咱们使用的主机上。 -t:在新容器内指定一个伪终端或终端。 -i:容许你对容器内的标准输入 (STDIN) 进行交互 -p:绑定指定端口
实例:
docker run -d -P -p 1521:1521 -v /data:/home/oracle/data_temp --name oracle_11g alexeiled/docker-oracle-xe-11g
5.docker exec :在运行的容器中执行命令
OPTIONS说明:
-d :分离模式: 在后台运行
-i :即便没有附加也保持STDIN 打开
-t :分配一个伪终端
实例:
docker exec -it 775c7c9ee1e1 /bin/bash #其中775c7c9ee1e1 为容器ID号
6. docker logs [ID或者名字] 能够查看容器内部的标准输出
# docker logs 353e6c82b2fc # docker logs -f 353e6c82b2fc -f:让 dokcer logs 像使用 tail -f 同样来输出容器内部的标准输出。
7. 中止WEB应用容器
#docker stop cid|names
8. 移除WEB应用容器
#docker rm CID|NAMES
9. 查询最后一次建立的容器
#docker ps -l
10.docker commit :从容器建立一个新的镜像。
OPTIONS说明:
-a :提交的镜像做者;
-c :使用Dockerfile指令来建立镜像;
-m :提交时的说明文字;
-p :在commit时,将容器暂停。
提交变动,相似于git的commit,只提交变化的部分
docker commit 2ee8517b15cf test/oracle
也能够像git同样指定更加详细的提交信息.
# docker commit -a "saneri" -m "my dev oracle" 5cbe0fdb46a6 dev_p2p/oracle:latest
11.docker ps : 列出容器
语法
docker ps [OPTIONS]
OPTIONS说明:
-a :显示全部的容器,包括未运行的。
-f :根据条件过滤显示的内容。
--format :指定返回值的模板文件。
-l :显示最近建立的容器。
-n :列出最近建立的n个容器。
--no-trunc :不截断输出。
-q :静默模式,只显示容器编号。
-s :显示总的文件大小。
实例:(三所示内容)
3、Docker删除容器与镜像
1.中止全部的container,这样才可以删除其中的images:
docker stop $(docker ps -a -q)
若是想要删除全部container的话再加一个指令:
docker rm $(docker ps -a -q)
查看当前有些什么images
docker images
删除images,经过image的id来指定删除谁
docker rmi <image id>
想要删除untagged images,也就是那些id为的image的话能够用
docker rmi $(docker images | grep "^<none>" | awk "{print $3}")
要删除所有image的话
docker rmi $(docker images -q)
强制删除所有image的话
docker rmi -f $(docker images -q)