Docker 运行在 CentOS 7 上,要求系统为64位、系统内核版本为 3.10 以上

一、docker的安装及卸载

1.查看当前系统内核版本:

[root@docker ~]# uname -r
3.10.-.el7.x86_64

2.安装docker

[root@docker ~]# yum -y install docker-io

3.启动 Docker 后台服务

[root@docker ~]# systemctl start docker.service

4.镜像加速

鉴于国内网络问题,后续拉取 Docker 镜像十分缓慢,我们可以需要配置加速器来解决,我使用的是阿里的镜像地址:

在/etc/docker/daemon.json文件中添加如下内容.

{
"registry-mirrors": ["https://wghlmi3i.mirror.aliyuncs.com"]
}

或者使用如下地址

{
"registry-mirrors": ["https://registry.docker-cn.com"]
}

修改保存后重启 Docker 以使配置生效,至此,docker安装完成!!!

5.卸载docker

列出你安装过的包

[root@docker ~]# yum list installed | grep docker
docker.x86_64 :1.13.-.git774336d.el7.centos @extras
docker-client.x86_64 :1.13.-.git774336d.el7.centos @extras
docker-common.x86_64 :1.13.-.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

二、docker 常用指令

1.获取一个新的镜像

[root@docker ~]# docker pull [镜像名称]

2.列出镜像列表

[root@docker ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
docker.io/hello-world latest e38bc07ac18e weeks ago 1.85 kB
docker.io/nginx latest b175e7467d66 weeks ago MB
docker.io/centos latest e934aafc2206 weeks ago MB
docker.io/mysql latest 5195076672a7 weeks ago 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. [OK]
docker.io docker.io/jwilder/nginx-proxy Automated Nginx reverse proxy for docker c... [OK]
docker.io docker.io/richarvey/nginx-php-fpm Container running Nginx + PHP-FPM capable ... [OK]
docker.io docker.io/jrcs/letsencrypt-nginx-proxy-companion LetsEncrypt container to use with nginx as... [OK]
docker.io docker.io/kong Open-source Microservice & API Management ...

4.docker run指令:

Docker 允许你在容器内运行应用程序, 使用 docker run 命令来在容器内运行一个应用程序。

参数说明:
-d:让容器在后台运行。
-P:将容器内部使用的网络端口映射到我们使用的主机上。
-t:在新容器内指定一个伪终端或终端。
-i:允许你对容器内的标准输入 (STDIN) 进行交互
-p:绑定指定端口

实例:

docker run -p : \
-v $PWD/nginx/html:/usr/share/nginx/html \
-v $PWD/nginx/conf:/etc/nginx \
-v $PWD/nginx/logs:/var/log/nginx \
--rm --name nginx -d nginx

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 :显示总的文件大小。

12.docker inspect : 获取容器/镜像的元数据

语法: docker inspect [OPTIONS] NAME|ID [NAME|ID...]

OPTIONS说明:

  • -f :指定返回值的模板文件。

  • -s :显示总的文件大小。

  • --type :为指定类型返回JSON。

实例:获取镜像tomcat的元信息# docker inspect tomcat

[
{
"Id": "168ee1a88f2e4870067c1224693b846e4c086172b69e3a387afebbd641b53335",
"Created": "2020-04-15T14:39:07.096022083Z",
"Path": "catalina.sh" #获取容器的ip地址
docker inspect --format='{{.NetworkSettings.IPAddress}}' 容器名称 # docker inspect --format='{{.NetworkSettings.IPAddress}}' tomcat_test
172.17.0.2 #或者这样写,获取容器使用的网桥

[root@localhost ~]# docker inspect -f {{.HostConfig.NetworkMode}} 262b42fb0c9f
redis_default

13.docker cp :用于容器与主机之间的数据拷贝.

语法:

docker cp [OPTIONS] CONTAINER:SRC_PATH DEST_PATH|-
docker cp [OPTIONS] SRC_PATH|- CONTAINER:DEST_PATH
OPTIONS说明: -L :保持源目标中的链接  

实例:

1.将主机/home/www目录拷贝到容器96f7f14e99ab的/www目录下

docker cp /home/www 96f7f14e99ab:/www/

2.将主机/home/www 目录拷贝到容器96f7f14e99ab中,目录重命名为www

docker cp /home/www 96f7f14e99ab:/www

3.将容器96f7f14e99ab的/www目录拷贝到主机的/tmp目录中

docker cp  96f7f14e99ab:/www /tmp/

三、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)

Centos6.5下docker 环境搭建的更多相关文章

  1. centos7系统下 docker 环境搭建

    运行环境: VMware Workstation Pro 在虚拟机中安装centos7系统, 选择最小安装, 网络连接方式选择的桥接(与宿主机在同一IP段)centos7一定要安装64位, docke ...

  2. win7下docker环境搭建nginx+php-fpm+easyswoole+lavarel+mysql开发环境

    win7环境基础在上一篇win7下docker环境搭建nginx+php-fpm+easyswoole开发环境中已经详细叙述搭建完成 本篇文章将叙述如何在上述基础上搭建laravel开发环境,这个其实 ...

  3. win7下docker环境搭建nginx+php-fpm+easyswoole开发环境

    基础的环境已在文章nginx.php-fpm.swoole HTTP/TCP压测对比中搭建了,现在是在这个基础上在搭建easyswoole开发环境 主要要修改的地方是dnmp包里面的docker-co ...

  4. 【Docker】Windows下docker环境搭建及解决使用非官方终端时的连接问题

    背景 时常有容器方面的需求,经常构建调试导致测试环境有些混乱,所以想在本地构建一套环境,镜像调试稳定后再放到测试环境中. Windows Docker 安装 安装docker toolbox 博主的电 ...

  5. CentOS7.5环境下Docker环境搭建

    1. 安装wget工具: yum install wget -y 2. 使用wget工具从docker官网下载yum源: wget -P /etc/yum.repos.d/ https://downl ...

  6. CentOS6.4下邮件服务器搭建

    CentOS6.4下邮件服务器搭建   linux下邮件服务器的搭建大致分为三个步骤 准备工作(真实的生产环境下需要) 发送服务器安装及配置 (Postfix) 接收服务器安装及配置(dovecot) ...

  7. Docker环境搭建以及基本操作

    Docker环境搭建以及基本操作 Docker环境基本搭建: 基础环境:Centos 7.4        IP:192.168.30.117 [root@docker ~]# cat /etc/re ...

  8. linux下LAMP环境搭建

    ++++++++++++++++++++++++++++++++++++++++++++++ linux下LAMP环境搭建 ++++++++++++++++++++++++++++++++++++++ ...

  9. Solr3.6.1 在Tomcat6下的环境搭建

    Solr3.6.1 在Tomcat6下的环境搭建 Tomcat路径:D:\prg\apache-tomcat-6-solr 简写为tomcat_home Solr文件下载保存路径为:F:\softwa ...

随机推荐

  1. Tomcat中的Session小结

    什么是Session 对Tomcat而言,Session是一块在服务器开辟的内存空间,其存储结构为ConcurrentHashMap: Session的目的 Http协议是一种无状态协议,即每次服务端 ...

  2. C#语言基础

    第一部分 了解C# C#是微软公司在2000年7月发布的一种全新且简单.安全.面向对象的程序设计语言,是专门为.NET的应用而开发的.体现了当今最新的程序设计技术的功能和精华..NET框架为C#提供了 ...

  3. Spring类型转换 ConversionSerivce Convertor

    以String转Date为例:   定义转换器:    import java.text.ParseException; import java.util.Date; import org.apach ...

  4. 如何在mac上用终端打开XAMPP自带的MySQL

    注:1.本文未经博主同意,不得转载! 2.所有终端语句都分行显示,以免大家看错: 直接开始,过程中对每一步可能出现的错误都进行了说明. 1.安装好xampp,然后打开终端,输入: mysql -u r ...

  5. 常见的高可用MySQL解决方案

    MySQL数据库作为最基础的数据存储服务之一,在整个系统中有着非常重要的地位,因此要求其具备高可用性是无可厚非的.有很多解决方案能实现不同的SLA(服务水平协定),这些方案可以保证数据库服务器在硬件或 ...

  6. [已解决]Windows10 系统下HDMI 显示器 没有声音输出的奇怪问题

    今天想用一下显示器自带的喇叭,忽然发现声音输出选项里HDMI的声音设备没了.之前开始使用这台显示器的时是用过一段时间的. 百度了一番,没发现什么线索.后来去谷歌找到这么一段文字: I'm not su ...

  7. Centos6.5安装mysql不能启动,应该安装mysql-server

    centos中安装mysql很简单如下命令即可 yum install mysql 装好了, 运行mysql ERROR 2002 (HY000): Can't connect to local My ...

  8. jdbc java数据库连接 9)事务编程

    1. 事务 基本概念: 事务使指一组最小逻辑操作单元,里面有多个操作组成. 组成事务的每一部分必须要同时提交成功,如果有一个操作失败,整个操作就回滚. 事务ACID特性: l 原子性(Atomicit ...

  9. 011商城项目:图片服务器的安装---nginx

    这个是电商的项目,不是传统项目,所以给图片单独架一台服务器. 我们看上图: 用户上传图片时上传到Tomcat1或者Tomcat2.然后Tomcat1和Tomcat2通过FTP服务把图片上传到图片服务器 ...

  10. [LeetCode] Tenth Line 第十行

    How would you print just the 10th line of a file? For example, assume that file.txt has the followin ...