docker安装及入门

本文介绍了Docker的安装步骤,包括添加阿里源、安装CE社区版本、配置daemon.json、启动服务并验证。同时,讲解了如何使用Docker命令操作镜像、容器,如搜索镜像、启动容器、查看容器状态、停止与删除容器。还提供了一个实践案例,通过启动Apache应用并映射端口,展示了如何通过宿主机IP访问容器内的web服务。
摘要由CSDN通过智能技术生成
  1. 清理安装包:

     yum remove docker \
                      docker-client \
                      docker-client-latest \
                      docker-common \
                      docker-latest \
                      docker-latest-logrotate \
                      docker-logrotate \
                      docker-selinux \
                      docker-engine-selinux \
                      docker-engine
    
  2. 安装依赖包:

    yum install -y yum-utils device-mapper-persistent-data lvm2
    
  3. 添加镜像源:

    使用阿里源

    yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
    yum makecache
    
  4. 安装CE docker社区版本:

    yum -y install docker-ce
    
  5. 启动服务验证

    systemctl start docker
    docker run hello-world   # 没有helloworld镜像,会下载该镜像并启动
    

启动如果失败

在系统日志message中查看日志:

Aug 10 03:02:21 docker1 dockerd: time="2019-08-10T03:02:21.577011955-04:00" level=info msg="Error while creating filesystem xfs on device docker-253:1-69296955-base: exit status 1" storage-driver=devicemapper
Aug 10 03:02:21 docker1 dockerd: time="2019-08-10T03:02:21.577027167-04:00" level=error msg="[graphdriver] prior storage driver devicemapper failed: exit status 1"
Aug 10 03:02:21 docker1 dockerd: failed to start daemon: error initializing graphdriver: exit status 1
Aug 10 03:02:21 docker1 systemd: docker.service: main process exited, code=exited, status=1/FAILURE
Aug 10 03:02:21 docker1 systemd: Failed to start Docker Application Container Engine.

需要升级xfs版本:

yum update xfsprogs

修改镜像仓库源:

新建文件: /etc/docker/daemon.json

{
  "registry-mirrors": ["http://hub-mirror.c.163.com"]
}

检查:

docker system info

 Registry: https://index.docker.io/v1/
 Labels:
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Registry Mirrors:
  http://hub-mirror.c.163.com/
 Live Restore Enabled: false

search 镜像:

docker search httpd

docker ps

docker image ls

[root@docker1 docker]# docker image ls
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              fce289e99eb9        7 months ago        1.84kB

docker pull 获取镜像:

[root@docker1 docker]# docker pull centos/httpd 
Using default tag: latest
latest: Pulling from centos/httpd
a02a4930cb5d: Pulling fs layer 
628eaef4a9e0: Pulling fs layer 
20c0ca1c0cd5: Download complete 
30cf2fb1a57e: Download complete 

依据镜像启动容器:

docker container run -it xxxx /bin/bash

查看运行的容器:

docker container ls

查看所有的容器 加上-a:

docker container ls -a

[root@docker1 ~]# docker container ls -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS                   PORTS               NAMES
7e601c101259        hello-world         "/hello"            2 hours ago         Exited (0) 2 hours ago                       optimistic_jang

登录容器:

docker container exec -it xxxx bash

停止容器:

docker container stop xxx

删除容器

docker container rm 7e601c101259
[root@docker1 ~]# docker container rm 7e601c101259
7e601c101259
[root@docker1 ~]# 
[root@docker1 ~]# docker container ls -a
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES

实验:

启动一个apache 应用,并能够通过宿主机的ip进行访问:

docker container run -d --name mweb --publish 8080:80 centos/httpd

使用镜像httpd启动一个web服务, 名称为mweb 并且将容器内的80端口映射为宿主机的8080端口, 这样就可以使用宿主机的8080端口访问应用了

[root@docker1 docker]# docker image list
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              fce289e99eb9        7 months ago        1.84kB
centos/httpd        latest              2cc07fbb5000        7 months ago        258MB


[root@docker1 docker]# docker container run -d --name mweb --publish 8080:80 centos/httpd
1fe7d3e5050214224a8e14084e8951b4beab972e4a935745273099b78d93c532
[root@docker1 docker]# 
[root@docker1 docker]# 
[root@docker1 docker]# 
[root@docker1 docker]# docker container ls
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS                  NAMES
1fe7d3e50502        centos/httpd        "/run-httpd.sh"     13 seconds ago      Up 11 seconds       0.0.0.0:8080->80/tcp   mweb
[root@docker1 docker]# 

打开端口验证
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值