centos 部署docker容器

实验环境: CENTOS 7.4

官方网站:https://www.docker.com/

源代码下载:https://github.com/docker/docker.github.io

安装说明 https://docs.docker.com/compose/install/#prerequisites

docker容器技术和虚拟机对比:
相同点: docker容器技术和虚拟机技术,都是虚拟化技术。
 docker相对于VM虚拟机,少了虚拟机操作系统这一层,所以docker效率比虚拟机高
 

一、安装 直接使用centos系统自带的yum源安装

yum -y install docker  

启动docker平台:

[root@146~]# systemctl start docker   #启动 docker 服务

[root@146~]# systemctl enable docker  #设置开机启动docker服务

[root@146~]# docker version    #显示 Docker 版本信息

查看 docker 信息(确认服务运行)显示 Docker 系统信息,包括镜像和容器数。

下载docker镜像

[root@146~]# docker search centos  #从 Docker Hub 中搜索符合条件的镜像。

名字                        描述                             受欢迎受欢迎程度  是否官方提供

如果OFFICIAL 为[ok] ,说明可以放心使用。

方法1:从公网docker hub 拉取(下载)image   pull:拉

[root@146~]# docker pull docker.io/centos

(#报错了,因为网络的问题。 无法连接到dockerhub 下载镜像。 如果你的网络没有问题,你可以下载。)

方法2:163镜像

[root@146 ~]# docker pull hub.c.163.com/library/tomcat:latest
[root@146 ~]# docker images 
REPOSITORY                     TAG           IMAGE ID            CREATED             SIZE
hub.c.163.com/library/tomcat   latest         72d2be374029        4 months ago        292.4 MB

查看 images 列表
[root@146 ~]# docker images  #列出本地所有镜像。其中 [name] 对镜像名称进行关键词查询。
[root@146 ~]# docker images 

开启动网络转发功能

开启动网络转发功能,默认会自动开启.

手动开启:
[root@146 ~]# vim /etc/sysctl.conf  #插入以下内容
net.ipv4.ip_forward = 1
[root@146 ~]# sysctl  -p   #生效
net.ipv4.ip_forward = 1
[root@146 ~]# cat /proc/sys/net/ipv4/ip_forward
1

否则会报错以下警告: WARNING: iPv4 forwarding is disabled network will not work

二、docker平台基本使用方法

例1:运行一个 container并加载镜像centos,运行起来这个实例后,在实例中执行 /bin/bash命令

docker常用参数:

run  运行

-i   以交互模式运行容器,通常与 -t 同时使用;
-t  为容器重新分配一个伪输入终端,通常与 -i 同时使用;

[root@xuegod63 ~]# docker images

REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE

docker.io/centos    latest              196e0ce0c9fb        12 days ago         196.6 MB

[root@xuegod63 ~]# docker run  -it docker.io/centos:latest /bin/bash   #启动一个实例,也就2秒就可以搞定

[root@068fd8c70344 /]# ls   #查看实例环境

[root@f072b5ae7542 /]# cat /etc/redhat-release

退出容器:

[root@f072b5ae7542 /]#exit

例2:在 container 中启动一个长久运行的进程,不断向stdin输出 hello world 。模拟一个后台运行的服务

docker常用参数:

-d  后台运行容器,并返回容器ID;
-c  后面跟待完成的命令

[root@146~]# docker run  -d docker.io/centos:latest /bin/sh -c "while true;do echo hello world; sleep 1; done"

1b3493487c4fde6eb233d59fa9ab9a204ad993cd3debbd5a9a28be6816694605

#容器的ID

从一个容器中取日志,查看输出的内容

语法: docker  logs   容器实例的Name/ID  

[root@146~]# docker logs 1b3493487c4    #容器的ID可以写全,也可以不写全,只要唯一就可以了

查看正在运行的容器:

[root@146~]# docker ps  #列出所有运行中容器。

[root@146~]# docker ps -a  #-a 列出所有容器(含沉睡/退出状态的容器);

例3:杀死一个容器。 比如:杀死一个正在后台运行的容器

杀死ID为c4a213627f1b容器

[root@146~]# docker kill c4a213627f1b  #杀死一个容器 

[root@146~]# docker stop 1a63ddea6571 #关闭容器

[root@146~]# docker restart 1a63ddea6571 #重启

删除指定 container : rm

[root@146~]# docker rm  e085da6919af

[root@146~]# docker rm -f 1a63ddea6571 #强制删除

猜你喜欢

转载自blog.csdn.net/z13615480737/article/details/83272417