docker-安装和使用

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档


前言

  • 只是记录平时学习及工作中的一些成果,提供给初学者一些帮助

一、docker是什么?

  • vmware这种虚拟机软件,是一种安装在电脑的一款软件,可以通过它在一台windows系统的电脑中创建多个不同系统的“子电脑”,系统可以是linux,windows等等,系统之间资源相互隔离,缺点就是由于这些子系统跟平时用的系统环境没太大区别,系统占用很大,启动很慢,而且有些虚拟机软件需要收费使用。
    对于docker是一种轻量虚拟化技术,相比vmware而言比较轻量,可以在一台电脑上创建很多容器,这些容器可以理解成“子电脑”,优点就是这些“子电脑”创建及启动速度很快,像是启动一个进程。

二、使用步骤

1.安装docker

  • 安装系统 centos7或者8
  • 关闭linux防火墙 service iptables stop 或者 systemctl stop firewalld
  • 方法一:使用阿里镜像源安装,在国内服务器安装比较快
sudo yum install -y yum-utils device-mapper-persistent-data
sudo yum-config-manager --add-repo  https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce-18.06.1*

sudo service docker start //启动
sudo chkconfig docker on //设置开机自动启动
  • 方法二:一键安装
sudo wget -qO- https://get.docker.com/ | sudo sh
sudo service docker start //启动
sudo chkconfig docker on //设置开机自动启动

以上安装的是一个软件进程,可以提供对外端口服务,可以创建容器等等,最终是程序通过容器来运行。
注意:如果是非root安装后创建容器会出现权限问题,执行命令

sudo usermod -aG docker root1,(root1为用户名)

安装成功后,docker version 查看版本

  • 附debian系统安装
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl start docker #开启服务
systemctl enable docker.service #开机自运行

2.配置端口(可选)

  • 如果用户使用开发环境搭建,可以开放docker工具的服务端口,方便研发电脑调用其端口进行镜像构建上传等服务.
  • 默认情况下,Docker守护进程Unix socket(/var/run/docker.sock)来进行本地进程通信,而不会监听任何端口,因此只能在本地使用docker客户端或者使用Docker
    API进行操作。如果想在其他主机上操作Docker主机,就需要让Docker守护进程打开一个HTTP Socket,这样才能实现远程通信。

1.vim /lib/systemd/system/docker.service
2.将第11行的ExecStart=/usr/bin/dockerd,替换为:
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock -H tcp://0.0.0.0:7654
其中2375是管理端口(可以用于maven打包上传),7654是备用端口
3.在~/.bashrc中写入docker管理端口 export DOCKER_HOST=tcp://0.0.0.0:2375
source ~/.bashrc
4.重启:service docker restart

3.创建启动容器

  • 用docker安装nginx容器进行举例
#拉取镜像,从远程拉取镜像到本地
docker pull nginx:1.12.2 

#首先根据默认参数运行
docker run --name nginx -p 80:80 -d nginx:1.12.2 

#创建文件夹
mkdir -p /docker/nginx/www /docker/nginx/logs /docker/nginx/conf 

#查看容器内文件
docker exec nginx ls /etc/nginx 

#将容器内的配置文件copy到宿主机器
docker cp nginx:/etc/nginx/ /docker/nginx/conf 

#启动
docker run -d -p 80:80 --restart=always  -v /docker/nginx/conf/:/etc/nginx/ -v /docker/nginx/logs/:/var/log/nginx/ -v /docker/nginx/www/:/etc/nginx/html/ --name nginx nginx:1.12.2 

#查看容器列表及状态
docker ps 
#查询所有容器包括没有运行的容器列表
docker ps -a 

docker stats #查询所有容器的cpu,内存,网络io,磁盘io的资源消耗情况

docker cp 可以在宿主系统和容器中进行文件的拷贝
docker run 启动
-p 后端运行容器
-p 将宿主系统端口和容器端口进行映射,如果不加上这个配置,外界无法访问到容器
-v 将容器的配置文件等挂载到宿主主机,这样可以随意修改,在容器中不方便修改
–restart=always 如果容器所在系统重启后,容器将自动拉起,无需人工启动,线上环境建议加上

3.注意

  • 如何进入容器: docker exec -it 容器ID/容器名称 /bin/bash
    -(如果执行错误使用 docker exec -it 容器ID/容器名称 /bin/sh)
  • 后面持续补充

总结

docker在服务器部署应用很广泛,配合微服务,部署管理方便,提高部署效率和减少出错率

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值