1. 查看系统发行版本
# 查看CentOS系统发行版本
[root@seacloudone ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
# 查看Ubuntu系统发行版本
cat /etc/lsb-release
2. 查看系统内核版本
[root@seacloudone ~]# uname -r
3.10.0-1160.el7.x86_64
3.
# 进入容器内部
docker run -it ubuntu bash
# 搜索docker
[root@seacloudone ~]# docker search mysql
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
mysql MySQL is a widely used, open-source relation… 13513 [OK]
mariadb MariaDB Server is a high performing open sou… 5156 [OK]
phpmyadmin phpMyAdmin - A web interface for MySQL and M… 696 [OK]
percona Percona Server is a fork of the MySQL relati… 595 [OK]
bitnami/mysql Bitnami MySQL Docker Image 79 [OK]
databack/mysql-backup Back up mysql databases to... anywhere! 74
linuxserver/mysql-workbench 45
ubuntu/mysql MySQL open source fast, stable, multi-thread… 38
linuxserver/mysql A Mysql container, brought to you by LinuxSe… 38
circleci/mysql MySQL is a widely used, open-source relation… 28
google/mysql MySQL server for Google Compute Engine 22 [OK]
rapidfort/mysql RapidFort optimized, hardened image for MySQL 13
bitnami/mysqld-exporter 4
ibmcom/mysql-s390x Docker image for mysql-s390x 2
newrelic/mysql-plugin New Relic Plugin for monitoring MySQL databa… 1 [OK]
vitess/mysqlctld vitess/mysqlctld 1 [OK]
hashicorp/mysql-portworx-demo 0
rapidfort/mysql-official RapidFort optimized, hardened image for MySQ… 0
docksal/mysql MySQL service images for Docksal - https://d… 0
mirantis/mysql 0
rapidfort/mysql8-ib RapidFort optimized, hardened image for MySQ… 0
cimg/mysql 0
drud/mysql 0
silintl/mysql-backup-restore Simple docker image to perform mysql backups… 0 [OK]
corpusops/mysql https://github.com/corpusops/docker-images/ 0
# 查看docker
docker images
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.sliyun.com/repo/epel-7.repo
yum clean all
yum makecache
iptables -F
关闭SELinux
[root@seacloudone ~]# getenforce
Enforcing
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - No SELinux policy is loaded.
#SELINUX=enforcing
SELINUX=disabled
# SELINUXTYPE= can take one of three values:
# targeted - Targeted processes are protected,
# minimum - Modification of targeted policy. Only selected processes are protected.
# mls - Multi Level Security protection.
SELINUXTYPE=targeted
[root@seacloudone ~]# getenforce
Disabled
安装常用工具
yum install -y bash-completion vim lrzsz wget expect net-tools nc nmap tree dos2unix htop iftop iotop unzip telnet sl psmisc nethogs glances bc ntpdate openldap-devel
关闭防火墙
[root@seacloudone ~]# systemctl disable firewalld
Removed symlink /etc/systemd/system/multi-user.target.wants/firewalld.service.
Removed symlink /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service.
systemctl stop firewalld
安装docker
开启Linux内核的流量转发
[root@seacloudone ~]# cat <<EOF > /etc/sysctl.d/docker.conf
> net.bridge.bridge-nf-call-ip6tables = 1
> net.bridge.bridge-nf-call-iptables = 1
> net.ipv4.conf.default.rp_filter = 0
> net.ipv4.conf.all.rp_filter = 0
> net.ipv4.ip_forward = 1
> EOF
#加载修改内核的参数,配置文件
#按照如下命令执行
[root@seacloudone ~]# modprobe br_netfilter
[root@seacloudone ~]# sysctl -p /etc/sysctl.d/docker.conf
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
net.ipv4.conf.default.rp_filter = 0
net.ipv4.conf.all.rp_filter = 0
net.ipv4.ip_forward = 1
# 提前配置好yum仓库
# 1.阿里云自带仓库 2.阿里云提供的docker专属repo仓库
curl -o /etc/yum.repos.d/docker-ce.repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
curl -o /etc/yum.repos.d/Centos-7.repo http://mirrors.aliyun.com/repo/Centos-7.repo
# 更新yum缓存
yum clean all && yum makecache
# 可以直接yum安装docker了
# 查看源中可用版本
yum list docker-ce --showduplicates | sort -r
# yum安装
yum install docker-ce-20.10.6 -y
# 如果需要安装旧版本
yum install docker-ce-18.09.9 -y
# 如果要卸载
yum remove -y docker-xxx
# 尝试启动,使用docker了
配置docker加速器
用于加速镜像文件的下载
[root@seacloudone ~]# touch /etc/docker/daemon.json
touch: 无法创建"/etc/docker/daemon.json": 没有那个文件或目录
[root@seacloudone ~]# mkdir -p /etc/docker
[root@seacloudone ~]# touch /etc/docker/daemon.json
[root@seacloudone ~]# vim /etc/docker/daemon.json
[root@seacloudone ~]# cat /etc/docker/daemon.json
{
"registry-mirrors":[
"https://8xpk5wnt.mirror.aliyuncs.com"
]
}
[root@seacloudone ~]# systemctl daemon-reload
[root@seacloudone ~]# systemctl enable docker
Created symlink from /etc/systemd/system/multi-user.target.wants/docker.service to /usr/lib/systemd/system/docker.service.
[root@seacloudone ~]# systemctl restart docker
[root@seacloudone ~]# ps -ef|grep docker
root 2722 1 0 09:20 ? 00:00:00 /usr/bin/dockerd -H fd:// --containerd=/run/containerd/containerd.sock
root 2857 2450 0 09:20 pts/1 00:00:00 grep --color=auto docker
[root@seacloudone ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@seacloudone ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
[root@seacloudone ~]# docker version
Client: Docker Engine - Community
Version: 20.10.21
API version: 1.41
Go version: go1.18.7
Git commit: baeda1f
Built: Tue Oct 25 18:04:24 2022
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.6
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: 8728dd2
Built: Fri Apr 9 22:43:57 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.6.10
GitCommit: 770bd0108c32f3fb5c73ae1264f7e503fe7b2661
runc:
Version: 1.1.4
GitCommit: v1.1.4-0-g5fd4c4d
docker-init:
Version: 0.19.0
GitCommit: de40ad0
启动第一个docker容器
# 1.获取镜像,从配置好的docker镜像站中,去拉取nginx镜像
# 先搜索一下,镜像文件,是否存在
docker search nginx
# 拉取,下载镜像
docker pull nginx
[root@seacloudone ~]# docker search nginx
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
nginx Official build of Nginx. 17738 [OK]
linuxserver/nginx An Nginx container, brought to you by LinuxS… 181
bitnami/nginx Bitnami nginx Docker Image 143 [OK]
ubuntu/nginx Nginx, a high-performance reverse proxy & we… 67
bitnami/nginx-ingress-controller Bitnami Docker Image for NGINX Ingress Contr… 22 [OK]
rancher/nginx-ingress-controller 11
ibmcom/nginx-ingress-controller Docker Image for IBM Cloud Private-CE (Commu… 4
bitnami/nginx-ldap-auth-daemon 3
bitnami/nginx-exporter 3
kasmweb/nginx An Nginx image based off nginx:alpine and in… 3
rancher/nginx 2
vmware/nginx 2
rancher/nginx-ingress-controller-defaultbackend 2
rapidfort/nginx RapidFort optimized, hardened image for NGINX 2
circleci/nginx This image is for internal use 2
wallarm/nginx-ingress-controller Kubernetes Ingress Controller with Wallarm e… 1
vmware/nginx-photon 1
bitnami/nginx-intel 1
rapidfort/nginx-ib RapidFort optimized, hardened image for NGIN… 0
ibmcom/nginx-ingress-controller-ppc64le Docker Image for IBM Cloud Private-CE (Commu… 0
rancher/nginx-conf 0
rancher/nginx-ssl 0
continuumio/nginx-ingress-ws 0
rancher/nginx-ingress-controller-amd64 0
ibmcom/nginx-ppc64le Docker image for nginx-ppc64le 0
[root@seacloudone ~]# docker pull nginx
Using default tag: latest
latest: Pulling from library/nginx
a2abf6c4d29d: Pull complete
a9edb18cadd1: Pull complete
589b7251471a: Pull complete
186b1aaa4aa6: Pull complete
b4df32aa5a72: Pull complete
a0bcbecc962e: Pull complete
Digest: sha256:0d17b565c37bcbd895e9d92315a05c1c3c9a29f762b011a10c54a66cd53c9b31
Status: Downloaded newer image for nginx:latest
docker.io/library/nginx:latest
# 删除镜像
docker rmi 映像ID
# 2.运行镜像,生成容器,然后这个容器中,就跑着对应服务了
[root@seacloudone ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 605c77e624dd 11 months ago 141MB
# 运行的镜像命令,参数如下
docker run 参数 镜像的名字、id
# -d 后台运行容器
# -p 80:80 端口映射,宿主机端口:容器内端口,访问宿主机的这个端口,也就访问到了容器内的端口
[root@seacloudone ~]# docker run -d -p 80:80 nginx
3f1c0816b9b8ba0176662363f989f18a3b40a7008c8034ad039bbf617c7d8e30
[root@seacloudone ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3f1c0816b9b8 nginx "/docker-entrypoint.…" 7 minutes ago Up 7 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp youthful_newton
# 停止、启动docker
[root@seacloudone ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3f1c0816b9b8 nginx "/docker-entrypoint.…" 6 hours ago Up 6 hours 0.0.0.0:80->80/tcp, :::80->80/tcp youthful_newton
[root@seacloudone ~]# docker stop 3f1c0816b9b8
3f1c0816b9b8
[root@seacloudone ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
[root@seacloudone ~]# docker start 3f1c0816b9b8
3f1c0816b9b8
[root@seacloudone ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3f1c0816b9b8 nginx "/docker-entrypoint.…" 6 hours ago Up 8 seconds 0.0.0.0:80->80/tcp, :::80->80/tcp youthful_newton
运行Linux发行版映像
[root@seacloudone ~]# docker search centos
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
centos DEPRECATED; The official build of CentOS. 7411 [OK]
kasmweb/centos-7-desktop CentOS 7 desktop for Kasm Workspaces 26
couchbase/centos7-systemd centos7-systemd images with additional debug… 5 [OK]
dokken/centos-7 CentOS 7 image for kitchen-dokken 4
dokken/centos-stream-8 3
continuumio/centos5_gcc5_base 3
dokken/centos-stream-9 2
dokken/centos-8 CentOS 8 image for kitchen-dokken 2
spack/centos7 CentOS 7 with Spack preinstalled 1
spack/centos6 CentOS 6 with Spack preinstalled 1
ustclug/centos Official CentOS Image with USTC Mirror 0
dokken/centos-6 CentOS 6 image for kitchen-dokken 0
datadog/centos-i386 0
bitnami/centos-extras-base 0
corpusops/centos-bare https://github.com/corpusops/docker-images/ 0
couchbase/centos-72-java-sdk 0
couchbase/centos-72-jenkins-core 0
corpusops/centos centos corpusops baseimage 0
couchbase/centos-70-sdk-build 0
couchbase/centos-69-sdk-build 0
couchbase/centos-69-sdk-nodevtoolset-build 0
bitnami/centos-base-buildpack Centos base compilation image 0 [OK]
fnndsc/centos-python3 Source for a slim Centos-based Python3 image… 0 [OK]
spack/centos-stream 0
dokken/centos-5 EOL DISTRO: For use with kitchen-dokken, Bas… 0
# centos发行版映像下载
[root@seacloudone ~]# docker pull centos
Using default tag: latest
latest: Pulling from library/centos
a1d0c7532777: Pull complete
Digest: sha256:a27fd8080b517143cbbbab9dfb7c8571c40d67d534bbdee55bd6c473f432b177
Status: Downloaded newer image for centos:latest
docker.io/library/centos:latest
# 查看映像
[root@seacloudone ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 605c77e624dd 11 months ago 141MB
centos latest 5d0da3dc9764 14 months ago 231MB
# 查看当前系统发行版本
[root@seacloudone ~]# cat /etc/redhat-release
CentOS Linux release 7.9.2009 (Core)
# 运行latest发行版
# 运行容器,且进入容器内
# 参数解释 -i 交互式命令操作 -t 开启一个中端 5d0da3dc9764是镜像的id bash进入容器后执行的命令
[root@seacloudone ~]# docker run -it 5d0da3dc9764 bash
# 查看容器内系统的发行版本
[root@3924e36f1121 /]# cat /etc/redhat-release
CentOS Linux release 8.4.2105
[root@3924e36f1121 /]# exit
exit
[root@seacloudone ~]#
# Ubuntu系统发行版映像下载
[root@seacloudone ~]# docker pull ubuntu
Using default tag: latest
latest: Pulling from library/ubuntu
7b1a6ab2e44d: Pull complete
Digest: sha256:626ffe58f6e7566e00254b638eb7e0f3b11d4da9675088f4781a50ae288f3322
Status: Downloaded newer image for ubuntu:latest
docker.io/library/ubuntu:latest
[root@seacloudone ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
3f1c0816b9b8 nginx "/docker-entrypoint.…" 9 hours ago Up 4 hours 0.0.0.0:80->80/tcp, :::80->80/tcp youthful_newton
[root@seacloudone ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
nginx latest 605c77e624dd 11 months ago 141MB
ubuntu latest ba6acccedd29 13 months ago 72.8MB
centos latest 5d0da3dc9764 14 months ago 231MB
[root@seacloudone ~]# docker run -it ba6acccedd29 bash
root@60bde34a7a42:/# cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=20.04
DISTRIB_CODENAME=focal
DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS"
root@60bde34a7a42:/# exit
exit
[root@seacloudone ~]#
安装emqx
# 下载emqx
[root@seacloudone ~]# docker pull emqx/emqx:5.0.11-amd64
5.0.11-amd64: Pulling from emqx/emqx
a603fa5e3b41: Pull complete
5a6115647826: Pull complete
fe258c723f47: Pull complete
fe09bb2a064c: Pull complete
b301f4aef8fe: Pull complete
4f4fb700ef54: Pull complete
dcdd43165a96: Pull complete
Digest: sha256:5cb003ff126b0e33af2461b06aa1a17612e0ffad69b21350f266c0e9aab7ee1b
Status: Downloaded newer image for emqx/emqx:5.0.11-amd64
docker.io/emqx/emqx:5.0.11-amd64
# 显示镜像文件
[root@seacloudone ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
emqx/emqx 5.0.11-amd64 088275bcea9e 5 days ago 374MB
emqx/emqx latest 0ef9bc19d70e 11 months ago 146MB
nginx latest 605c77e624dd 11 months ago 141MB
redis latest 7614ae9453d1 11 months ago 113MB
mysql 5.7 c20987f18b13 11 months ago 448MB
mysql latest 3218b38490ce 11 months ago 516MB
ubuntu latest ba6acccedd29 13 months ago 72.8MB
centos latest 5d0da3dc9764 14 months ago 231MB
# 显示运行容器
[root@seacloudone ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
0cdda681c0c0 emqx/emqx:5.0.11-amd64 "/usr/bin/docker-ent…" About a minute ago Up 3 seconds 4370/tcp, 5369/tcp, 8083-8084/tcp, 8883/tcp, 0.0.0.0:1883->1883/tcp, :::1883->1883/tcp, 0.0.0.0:18083->18083/tcp, :::18083->18083/tcp, 11883/tcp emqx5
ba96b39cf0c9 nginx "/docker-entrypoint.…" 5 days ago Exited (0) 5 days ago nginx
776c1b81b199 7614ae9453d1 "docker-entrypoint.s…" 5 days ago Exited (0) 5 days ago redis
9b403846bb70 mysql:latest "docker-entrypoint.s…" 5 days ago Exited (0) 5 days ago mysql2
# 停止容器emqx5
[root@seacloudone ~]# docker stop emqx5
emqx5
# 删除容器emqx5
[root@seacloudone ~]# docker rm emqx5
emqx5
# 显示运行容器
[root@seacloudone ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
ba96b39cf0c9 nginx "/docker-entrypoint.…" 5 days ago Exited (0) 5 days ago nginx
776c1b81b199 7614ae9453d1 "docker-entrypoint.s…" 5 days ago Exited (0) 5 days ago redis
9b403846bb70 mysql:latest "docker-entrypoint.s…" 5 days ago Exited (0) 5 days ago mysql2
# 容器运行
[root@seacloudone ~]# docker run -d --name emqx5 -p 18083:18083 -p 1883:1883 emqx/emqx:5.0.11-amd64
511e90892814faaa4f33ebb5b1dc633048d4f69cb2e0c6788442676d84625485
# 显示运行容器
[root@seacloudone ~]# docker ps -a
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
511e90892814 emqx/emqx:5.0.11-amd64 "/usr/bin/docker-ent…" 4 seconds ago Up 3 seconds 4370/tcp, 5369/tcp, 8083-8084/tcp, 8883/tcp, 0.0.0.0:1883->1883/tcp, :::1883->1883/tcp, 0.0.0.0:18083->18083/tcp, :::18083->18083/tcp, 11883/tcp emqx5
ba96b39cf0c9 nginx "/docker-entrypoint.…" 5 days ago Exited (0) 5 days ago nginx
776c1b81b199 7614ae9453d1 "docker-entrypoint.s…" 5 days ago Exited (0) 5 days ago redis
9b403846bb70 mysql:latest "docker-entrypoint.s…" 5 days ago Exited (0) 5 days ago mysql2
[root@seacloudone ~]#
浏览器地址栏输入:IP地址:18083,进入Dashboard
# 搜索emqx
[root@seacloudone ~]# docker search emqx/emqx
NAME DESCRIPTION STARS OFFICIAL AUTOMATED
emqx/emqx The most scalable open-source MQTT broker fo… 166
emqx/emqx-ee EMQX Enterprise: Scalable and Reliable MQTT … 12
emqx/emqx-edge EMQ X Broker - Massively Scalable MQTT Messa… 3
emqx/emqx-operator-reloader 0
emqx/emqx-operator-controller A Kubernetes Operator Controller for EMQ X B… 0
emqx/emqx-enterprise EMQX Enterprise - Cloud-Native IoT Messaging… 0
emqx/emqx-operator-kubectl
# 下载emqx 0
[root@seacloudone ~]# docker pull emqx/emqx
Using default tag: latest
latest: Pulling from emqx/emqx
8572bc8fb8a3: Pull complete
2515d7555202: Pull complete
5c87fdd888ef: Pull complete
c227b2804671: Pull complete
f3c4e6b224c6: Pull complete
d1d9200332e3: Pull complete
77131c6e337c: Pull complete
Digest: sha256:d88ff149d60584cd1dab334761d8b971d318e4417e488bc6201e95719f339b58
Status: Downloaded newer image for emqx/emqx:latest
docker.io/emqx/emqx:latest
# 查看docker镜像
[root@seacloudone ~]# docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
emqx/emqx latest 0ef9bc19d70e 10 months ago 146MB
nginx latest 605c77e624dd 11 months ago 141MB
ubuntu latest ba6acccedd29 13 months ago 72.8MB
centos latest 5d0da3dc9764 14 months ago 231MB
# 运行emqx
[root@seacloudone ~]# docker run -d --name emqx -p 1883:1883 -p 8081:8081 -p 8083:8083 -p 8084:8084 -p 8883:8883 -p 18083:18083 emqx/emqx:latest
20dc9107258f9a5f0d023884f172241830d33e55683c39dfe80ea0d4b27c6529
# 查看docker容器
[root@seacloudone ~]# docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
20dc9107258f emqx/emqx:latest "/usr/bin/docker-ent…" 4 seconds ago Up 3 seconds 4369-4370/tcp, 5369/tcp, 0.0.0.0:1883->1883/tcp, :::1883->1883/tcp, 0.0.0.0:8081->8081/tcp, :::8081->8081/tcp, 0.0.0.0:8083-8084->8083-8084/tcp, :::8083-8084->8083-8084/tcp, 6369-6370/tcp, 0.0.0.0:8883->8883/tcp, :::8883->8883/tcp, 0.0.0.0:18083->18083/tcp, :::18083->18083/tcp, 11883/tcp emqx
3f1c0816b9b8 nginx "/docker-entrypoint.…" 10 hours ago Up 4 hours 0.0.0.0:80->80/tcp, :::80->80/tcp youthful_newton
# 进入容器内部
[root@seacloudone ~]# docker exec -it 3f1c0816b9b8 bash
root@3f1c0816b9b8:/#
# 查看系统版本
root@3f1c0816b9b8:/# cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
root@3f1c0816b9b8:/#