Docker 安装

官方网站上有各种环境下的安装指南,比如:CentOS、Ubuntu 和 Debian 系列的安装。

而我们现在主要介绍的是基于 CentOS 7.x 上面的安装。

1、查看是否已经安装过docker

[root@localhost ~]# yum list installed | grep docker

docker.x86_64                        2:1.12.6-55.gitc4618fb.el7.centos @extras 
docker-client.x86_64                 2:1.12.6-55.gitc4618fb.el7.centos @extras 
docker-common.x86_64                 2:1.12.6-55.gitc4618fb.el7.centos @extras 

2、以上表示已经安装过,删除docker

[root@localhost ~]# yum remove –y docker.x86_64

[root@localhost ~]# yum remove –y docker-client.x86_64

[root@localhost ~]# yum remove –y docker-common.x86_64

3、安装docker(-y 表示静默安装,安装过程不再询问)

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

4、启动docker

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

5、停止docker

[root@localhost ~]# systemctl stop docker

6、查看当前docker状态
[root@localhost ~]# systemctl status docker      

Docker 镜像

7、拉取镜像

7.1、从 docker hub 拉取

https://hub.docker.com/

下面的例子将从Docker Hub 仓库下载一个 Tomcat 7 版本的服务器镜像。

[root@localhost ~]# docker pull tomcat:7

这是docker默认的公用仓库,不过缺点是国内下载会比较慢。

7.2、从 ustc 拉取(建议使用)

在宿主机器编辑文件:vi /etc/docker/daemon.json

请在该配置文件中加入(没有该文件的话,请先建一个):

{

"registry-mirrors":["https://docker.mirrors.ustc.edu.cn"]

}

最后,需要重启 docker 服务

[root@localhost ~]# systemctl restart docker

之后再使用 pull 命令拉取镜像,这时候是从 ustc 获取镜像,而且速度杠杠的。

8、列出镜像

docker images

[root@localhost ~]# docker images

9、删除镜像

docker rmi 镜像

[root@localhost ~]# docker rmi tomcat:7

注意:当镜像创建的容器存在时,无法删除镜像文件,需要先删除依赖该镜像的所有容器,再删除镜像。

10、导入导出镜像

导出镜像:docker save 镜像 > /root/xx.tar.gz

导入镜像:docker load < /root/xx.tar.gz

 

Docker 容器

11、启动容器

以交互方式启动容器:docker run -it --name 容器名称 镜像 /bin/bash

[root@localhost ~]# docker run -it --name mytomcat tomcat:7 /bin/bash
[root@28cc2a4f8c90 /]#

退出容器

[root@28cc2a4f8c90 /]# exit
exit
[root@localhost ~]#

以守护进程方式启动容器:docker run -d --name  容器名称  镜像

[root@localhost ~]# docker run -d --name mytomcat tomcat:7
f9b59aed3c7de509d6c9d9cc14c3d7774fc50f250b70661a4354df948588393b
[root@localhost ~]#

12、停止容器

docker stop 容器名称或者容器ID

[root@localhost ~]# docker stop mytomcat

13、重启容器

docker start 容器名称或者容器ID

[root@localhost ~]# docker start mytomcat

14、删除容器

删除指定容器:docker rm 容器名称或者容器ID

删除所有容器:docker rm 'docker ps -a -q'

15、查看容器

docker ps:查看正在运行的容器

[root@localhost ~]# docker ps

docker ps –a:查看历史运行过的容器

[root@localhost ~]# docker ps –a

Docker 应用

16、搭建 Tomcat 服务

docker run -d --name mytomcat -p 8888:8080 镜像

[root@localhost ~]# docker run -d --name mytomcat -p 8888:8080 tomcat:7
020c28055968b21ccb584d8b60b51b38f44678930b3bc2456eafb0fe40efcd78
[root@localhost ~]#

17、部署 Web 应用

1、将 war 包上传到宿主机器

2、通过 docker cp 命令将宿主机器的 war 包上传到容器中的 tomcat 的 webapps 目录下。

以交互界面的方式进入容器中

[root@localhost ~]# docker exec -it mytomcat /bin/bash
root@020c28055968:/usr/local/tomcat# ls
LICENSE  RELEASE-NOTES  bin   include  logs            temp     work
NOTICE   RUNNING.txt    conf  lib      native-jni-lib  webapps
root@020c28055968:/usr/local/tomcat# exit
exit
[root@localhost ~]# docker cp DockerDemo.war mytomcat:/usr/local/tomcat/webapps
[root@localhost ~]#

3、tomcat 会自动热部署,直接访问 Web 应用的路径即可。

CentOS 7 之 Docker 安装及操作命令的更多相关文章

  1. CentOS中利用Docker安装RabbitMQ

    CentOS中利用Docker安装RabbitMQ 1.拉取镜像(带管理平台) #docker pull rabbitmq:3.7.7-management 2.启动容器: #docker run - ...

  2. CentOS中利用Docker安装Redis

    CentOS中利用Docker安装Redis 1.拉取镜像 #docker pull redis:4.0.10 2.加载镜像 #docker run -p 6379:6379 --name test- ...

  3. centos 7使用docker安装lnmp和redis环境

    #================Docker基础操作========================== #启动docker服务service docker start#搜索可用docker镜像#h ...

  4. CentOS 中利用docker安装MySQL

    1.前提条件 centos7 且内核版本高于3.10, 可通过命令: uname -r 查看内核版本 2.利用yum 安装docker 安装一些必要的系统工具: sudo yum install -y ...

  5. 为CentOS下的Docker安装配置python3【转】

    * 安装python3以及docker yum install docker docker pull centos service docker start systemctl enable dock ...

  6. CentOS 7的docker安装初始化

    1: 安装必要的一些系统工具 sudo yum install -y yum-utils device-mapper-persistent-data lvm2 2: 添加软件源信息 添加阿里源这样下载 ...

  7. Centos下的 docker安装

    安装一些必要的系统工具:sudo yum install -y yum-utils device-mapper-persistent-data lvm2 添加软件源信息:sudo yum-config ...

  8. Docker安装redis操作命令

    最近学习了redis,那么今天我们来学习以下在Docker上安装我们的redis,并查看有关redis的一系列命令 查找redis docker search redis 拉取redis docker ...

  9. centos 7.6 docker 安装 nextcloud -使用sqlite数据库

    docker search nextcloud docker pull docker.io/nextcloud docker images mkdir /home/nextcloud chmod -R ...

随机推荐

  1. 【BZOJ1414】[ZJOI2009]对称的正方形(哈希)

    [BZOJ1414][ZJOI2009]对称的正方形(哈希) 题面 BZOJ 洛谷 题解 深思熟虑一波,发现一个矩阵如果左右对称的话,那么它每行都是一个回文串,同理,如果上下对称的话,那么每列都是一个 ...

  2. 【转】汽车CAN总线

    概述 CAN(Controller Area Network)总线协议是由 BOSCH 发明的一种基于消息广播模式的串行通信总线,它起初用于实现汽车内ECU之间可靠的通信,后因其简单实用可靠等特点,而 ...

  3. CronExpression

    CronTrigger CronTriggers往往比SimpleTrigger更有用,如果您需要基于日历的概念,而非SimpleTrigger完全指定的时间间隔,复发的发射工作的时间表.CronTr ...

  4. php获取汉字拼音首字母的方法

    现实中我们经常看到这样的说明,排名不分先后,按姓名首字母进行排序.这是中国人大多数使用的排序方法.那么在php程序中该如何操作呢? 下面就分享一下在php程序中获取汉字拼音的首字母的方法,在网上搜到的 ...

  5. spring in action 学习笔记八:用@Primary 或者@Qualifier消除@Autowired引起的歧义现象

    首先解释一下@Primary和@Qualifier这两个注解的意思:@Primary的意思是在众多相同的bean中,优先使用用@Primary注解的bean.而@Qualifier这个注解则指定某个b ...

  6. logstash收集ngx日志

    if [type] =~ "ngx-" { #去掉重复的行 mutate { add_field => {"line_message" => &qu ...

  7. POJ-2253 Frogger(最短路)

    https://vjudge.net/problem/POJ-2253 题意 公青蛙想到母青蛙那里去,期间有许多石头,公青蛙可以通过这些石头跳过去.问至少要跳的最大距离,即所有路径上石头间的最大距离的 ...

  8. JMS学习(六)--提高非持久订阅者的可靠性 以及 订阅恢复策略

    一,非持久订阅者 和 实时消费消息 在这篇文章中区分了Domain为Pub/Sub.Destination为Topic时,消费者有两种:持久订阅者 和 非持久订阅者. 对于持久订阅者而言,只要订阅了某 ...

  9. Django Book学习笔记(下)

    Django的Session框架 对于Django加密,大致使用这样的格式: hashtype$salt$hash 原因? 一次哈希是一次单向的加密过程,你能容易地计算出一个给定值的哈希码,但是几乎不 ...

  10. Unable to Distribute in Xcode5?

    Blog Unable to Distribute in Xcode5? I have the  question, if this screenshot is what you getting. ( ...