linux下docker使用大全

linux下docker使用大全

Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口,更重要的是容器性能开销极低。
Docker 包括三个基本概念:
镜像(Image):Docker 镜像(Image),就相当于是一个 root 文件系统。比如官方镜像 ubuntu:16.04 就包含了完整的一套 Ubuntu16.04 最小系统的 root 文件系统。
容器(Container):镜像(Image)和容器(Container)的关系,就像是面向对象程序设计中的类和实例一样,镜像是静态的定义,容器是镜像运行时的实体。容器可以被创建、启动、停止、删除、暂停等。
仓库(Repository):仓库可看成一个代码控制中心,用来保存镜像。
Docker CE 18.09在centos7的安装

关闭 防火墙

systemctl stop firewalld 
systemctl disable firewalld 

#查看防火墙状态

firewall-cmd --state 

输出信息大概是这样的

在这里插入图片描述!
在这里插入图片描述
关闭 SeLinux

建议在主机上禁用SELinux,让容器可以读取主机文件系统。或修改系统文件/etc/sysconfig/selinux,将SELINUX=enforcing修改成SELINUX=disabled,然后重启Linux。

关闭交换空间

关闭swap

swapoff -a 
yes | cp /etc/fstab /etc/fstab_bak 
cat /etc/fstab_bak |grep -v swap > /etc/fstab 
free -m 

#配置iptable管理ipv4/6请求
vim /etc/sysctl.d/k8s.conf 添加

net.bridge.bridge-nf-call-ip6tables = 1 
net.bridge.bridge-nf-call-iptables = 1 

使配置生效

sysctl –system 
sysctl -a|grep bridge 

在这里插入图片描述
在这里插入图片描述
调整时区:
安装docker
安装所需的包
yum-utils提供了yum-config-manager 效用,devicemapper存储驱动程序由需要 device-mapper-persistent-data和lvm2
命令:

yum install -y yum-utils device-mapper-persistent-data  lvm2

在这里插入图片描述
设置稳定的存储库。

yum-config-manager  --add-repo https://download.docker.com/linux/centos/docker-ce.repo 

在这里插入图片描述
安装docker18.09.7

yum install -y docker-ce-18.09.7 docker-ce-cli-18.09.7 containerd.io 

在这里插入图片描述
在这里插入图片描述
Docker已安装但尚未启动。该docker组已创建,但没有用户添加到该组。
启动Docker
用下面运行启动docker

systemctl start docker

验证是否安装成功
先查看是否启动成功

service docker status 

在这里插入图片描述
通过运行hello-world 映像验证是否正确安装了Docker Engine - 社区。

docker run hello-world 

此命令下载测试映像并在容器中运行它。当容器运行时,它会打印一条信息性消息并退出
在这里插入图片描述
Docker Engine - 社区已安装并正在运行。如果是非root用户执行,目前需要使用sudo来运行Docker命令。
查看版本是否正确

docker version 

在这里插入图片描述
设置开启启动Docker

systemctl enable docker && systemctl restart docker && service docker status 

在这里插入图片描述
配置docker启动参数
vim /etc/docker/daemon.json
然后写入:

{ 
 "registry-mirrors": ["https://registry.docker-cn.com"], 
 "exec-opts": ["native.cgroupdriver=systemd"] 
} 

#重启docker

systemctl daemon-reload 
systemctl restart docker

使用docker安装应用
镜像下载地址: https://hub.docker.com/
Docker的一些命令:
docker images :来列出本地主机上的镜像。
在这里插入图片描述
各个选项说明:
REPOSITORY:表示镜像的仓库源
TAG:镜像的标签
IMAGE ID:镜像ID
CREATED:镜像创建时间
SIZE:镜像大小
同一仓库源可以有多个 TAG,代表这个仓库源的不同个版本 可以通过以下来指定不同版本的ubuntu的运行,如果不指定一个镜像的版本标签,例如你只使用 ubuntu,docker 将默认使用 ubuntu:latest 镜像。
docker run -it ubuntu:15.10 /bin/bash
docker run -it ubuntu:14.04 /bin/bash
docker search mysql :搜索我们需要的mysql镜像
docker rmi 镜像: 删除镜像时,先要删除依赖container
在这里插入图片描述
删除所有的镜像:

docker stop $(docker ps -a -q)
docker rm $(docker ps -a -q)
docker rmi $(docker images -q)

docker安装各种软件:
docker安装centos7
拉取镜像,默认为最新版本

docker pull centos:centos7

查看docker目前所有下载的镜像

docker images

运行容器

docker run -itd --name centos-test centos:centos7

查看容器的运行状态

docker ps -a

进入容器

docker exec -it  centos-test /bin/bash

docker安装nginx
拉取镜像,默认为最新版本

docker pull nginx:latest

查看docker目前所有下载的镜像

docker images

运行容器

docker run --name nginx-test -p 8080:80 -d nginx

参数说明:
–name nginx-test:容器名称。
-p 8080:80: 端口进行映射,将本地 8080 端口映射到容器内部的 80 端口。
-d nginx: 设置容器在在后台一直运行。
通过浏览器上ip:8080 可以去访问nginx的客户端。
docker安装mysql
拉取镜像,默认为最新版本

docker pull mysql:latest

查看docker目前所有下载的镜像

docker images

运行容器 并且设置账号密码为root 123456

docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql

进入容器

docker exec -it  mysql-test /bin/bash

此时可以在docker中验证,注意要使用mysql用户登录
mysql -uroot -p123456
docker安装Redis
拉取镜像,默认为最新版本

docker pull redis:latest

查看docker目前所有下载的镜像

docker images

运行容器

docker run -itd --name redis-test -p 6379:6379 redis

进入容器

docker exec -it redis-test /bin/bash

以上进入到容器之后,查看所有的进程
首先安装ps命令

apt-get update
apt-get install procps

利用ps命令查看进程,可以发现程序已经在运行了

ps -ef

Docker安装ELK工具
这里我安装的是elasticsearch-6.6.2和logstash-6.6.2和kibana:7.8.0
Docker安装es
拉取镜像,默认为最新版本

docker pull elasticsearch:6.6.2

查看docker目前所有下载的镜像

docker images

运行es
#5601是kibana的默认端口,9200是es的默认端口,discovery.type指定单节点模式

docker run -d --name es -p 5601:5601 -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" elasticsearch:6.6.2

测试
curl http://localhost:9200
如图所示 ES安装成功
在这里插入图片描述
Docker安装kibana:6.6.2
拉取镜像,默认为最新版本

docker pull kibana:6.6.2

查看docker目前所有下载的镜像

docker images

创建并运行kibana # -e ELASTICSEARCH_URL指定es的地址,–network指定使用es的网络,可以借用es开放的5601端口

docker run -it -d -e ELASTICSEARCH_URL=http://localhost:9200 --name kibana --network=container:es kibana:6.6.2

#修改一下kibana的配置文件,要不kibana启动会报kibana is not ready yet的错误
进入kibana容器/bin/bash目录

docker exec -it kibana /bin/bash

进入config目录
cd config
修改kibana的配置文件,启动时的配置参数都是从这儿来的
vi kibana.yml
在这里插入图片描述
然后保存退出文件修改
#退出kibana容器

exit

重启kibana

docker restart kibana

访问http://ip:5601
在这里插入图片描述
此时Kibana安装成功
镜像的移植
将容器保存为镜像
docker commit 容器名称 镜像名称
docker commit mysql-test mymysql
这是可以看到多出来一个mysql的镜像,这个镜像就是我们刚刚生成的。
在这里插入图片描述
将镜像打包成tar文件
docker save -o mysql.tar mymysql
在这里插入图片描述
镜像拷贝
加载镜像
docker load -i mysql.tar
在这里插入图片描述
运行容器 并且设置账号密码为root 123456

docker run -itd --name mysql-test -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mymysql

进入容器

docker exec -it  mysql-test /bin/bash

验证
在这里插入图片描述
至此,docker的一些简单使用已经完成。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值