阿里云CentOS8-Docker安装使用(一)

安装Docker

环境查看(系统内核在3.10以上)

[root@12321 ~]# uname -r
4.18.0-193.14.2.el8_2.x86_64
//系统版本
[root@12321 ~]# cat /etc/os-release 
NAME="CentOS Linux"
VERSION="8"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="8"
PLATFORM_ID="platform:el8"
PRETTY_NAME="CentOS Linux 8"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:8"
HOME_URL="https://centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"
CENTOS_MANTISBT_PROJECT="CentOS-8"
CENTOS_MANTISBT_PROJECT_VERSION="8"

查看Docker文档地址

1. 移除旧版本

我是刚买的云服务器,所以第一步卸载旧版本不用做
在这里插入图片描述

2. 安装工具包

yum install -y yum-utils
  1. 设置镜像仓库,这里配置阿里的docker镜像地址
yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

安装 Docker 引擎

  1. 安装最新版本的 Docker Engine 和 containerd,或者进入下一步安装特定版本:

安装引擎之前可以先更新软件包索引:yum makecache fast

/*
	docker-ce社区版
	docker-ce-cli客户端
	container.io容器
*/
yum install docker-ce docker-ce-cli containerd.io

5. 启动docker,停止stop

systemctl start docker

6. 测试引擎是否正确安装

docker run hello-world

在这里插入图片描述
docker安装成功!

7. 查看hello-world镜像

[root@12321 ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    d1165f221234   4 months ago   13.3kB
  1. 有问题?不可能,我基本按照官方文档来的,卸载重来
// 卸载依赖
yum remove docker-ce docker-ce-cli containerd.io
// 删除资源
rm -rf /var/lib/docker
rm -rf /var/lib/containerd

在这里插入图片描述

阿里云镜像加速

在这里插入图片描述

  • 镜像加速器

在这里插入图片描述

  • 配置使用,4条命令:

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-‘EOF’
{
“registry-mirrors”: [“https://o5e3bujz.mirror.aliyuncs.com”]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

Docker常用命令

  1. 帮助命令:docke --help
docker info 					--docker系统信息,包括镜像和容器的数量

查看官方文档

2. 镜像命令

查看所有镜像:docker images
[root@12321 ~]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
hello-world   latest    d1165f221234   4 months ago   13.3kB

在这里插入图片描述

镜像搜索:docker search name

和文档一样的效果在这里插入图片描述在这里插入图片描述

镜像拉取(下载):docker pull name:x.x
  • docker pull tomcat:8

不加tag,默认下载最新
在这里插入图片描述
加:tag,指定版本
docker pull myslq:5.7

删除镜像docker rmi

根据id删除: docker rmi -f 容器id 容器id 容器id
删除全部容器: docker rmi -f $(docker images -aq)

-如删除镜像失败,查看容器内是否存在,docker ps -a;删除对应容器,再删除镜像

3. 容器命令:docker ps

说明: 有了镜像才可以创建容器,下载一个centos镜像来测试学习: docker pull centos

新建容器并启动
docker run [可选参数] image

在这里插入图片描述

[root@kuangshen~]# docker run -it centos /bin/bash					// 启动并进入容器,使用/bin的bash命令
[root@4027a9deb9a2 /]# ls											// 查看容器内的centos
bin  etc   lib	  lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr
[root@4027a9deb9a2 /]# exit											// 退出容器
exit

列出所有运行的容器

在这里插入图片描述

[root@kuangshen ~]# docker ps										// 当前正在运行的容器
CONTAINER ID   IMAGE     COMMAND   CREATED   STATUS    PORTS     NAMES
[root@kuangshen ~]# docker ps -a									// 当前正在运行+历史运行过得容器
CONTAINER ID   IMAGE         COMMAND       CREATED         STATUS                          PORTS     NAMES
4027a9deb9a2   centos        "/bin/bash"   4 minutes ago   Exited (0) About a minute ago             nifty_murdock
2144903fa33e   hello-world   "/hello"      11 hours ago    Exited (0) 11 hours ago                   nice_merkle

退出容器

在这里插入图片描述

删除容器

在这里插入图片描述
-如删除容器失败,查看容器是否停止,docker stop 容器id;再删除对应容器

  • 启动和停止容器的操作
    在这里插入图片描述

其他常用命令

后台启动容器:docker run -d

docker容器之后台运行
在这里插入图片描述

查看日志
[root@kuangshen ~]# docker run -it centos /bin/bash						// 启动容器
[root@871775c8ccec /]# [root@kuangshen  ~]#								// 键盘:Ctrl+p+q
[root@kuangshen  ~]# docker ps											// 查看运行的容器
CONTAINER ID   IMAGE     COMMAND       CREATED          STATUS          PORTS     NAMES
871775c8ccec   centos    "/bin/bash"   52 seconds ago   Up 51 seconds             exciting_hopper
[root@kuangshen  ~]# docker logs -f -t --tail 10  871775c8ccec			// 查看日志

shell测试日志脚本:while true;do echo 12321;sleep 1;done

[root@kuangshen   ~]# docker run -d centos /bin/sh -c "while true; do echo kuangshen;sleep 1;done"
a300f689107994566049b151d9bce590da504e4424507d02db259489085a2b94
[root@kuangshen   ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED         STATUS         PORTS     NAMES
a300f6891079   centos    "/bin/sh -c 'while t…"   9 seconds ago   Up 8 seconds             romantic_sanderson
[root@kuangshen   ~]# docker logs -f -t --tail 20 a300f6891079
2021-07-20T02:09:41.981069697Z kuangshen
2021-07-20T02:09:42.982979661Z kuangshen
2021-07-20T02:09:43.984907682Z kuangshen
2021-07-20T02:09:44.986846575Z kuangshen
2021-07-20T02:09:45.988628762Z kuangshen
2021-07-20T02:09:46.990483201Z kuangshen
2021-07-20T02:09:47.992250811Z kuangshen
2021-07-20T02:09:48.994200650Z kuangshen
2021-07-20T02:09:49.996342484Z kuangshen
2021-07-20T02:09:50.998422565Z kuangshen
2021-07-20T02:09:52.000735140Z kuangshen
2021-07-20T02:09:53.002588607Z kuangshen
2021-07-20T02:09:54.004618479Z kuangshen
2021-07-20T02:09:55.006647342Z kuangshen

查看容器中进程信息:top
[root@kuangshen ~]# docker ps
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS     NAMES
a300f6891079   centos    "/bin/sh -c 'while t…"   12 minutes ago   Up 12 minutes             romantic_sanderson
[root@kuangshen ~]# docker top a300f6891079
UID                 PID                 PPID                C                   STIME               TTY             TIME                CMD
root                101860              101840              0                   10:08               ?             00:00:00            /bin/sh -c while true; do echo kuangshen;sleep 1;done
root                102718              101860              0                   10:21               ?             00:00:00            /usr/bin/coreutils --coreutils-prog-shebang=sleep /usr/bin/sleep 1
查看镜像元数据:inspect
docker inspect a300f6891079
进入当前正在运行的容器!

docker exec -it 容器id bashShell,退出:exit

	docker exec -it a300f6891079 /bin/bash

docker attach 容器id bashShell

	docker attach a300f6891079

清空容器:docker rm -f $(docker ps -aq)在这里插入图片描述

从容器内拷贝文件到主机上: docker cp 容器id:容器内路径 目的主机路径

安装Nginx

[root@kuangshen ~]# docker search nginx					// 搜索
NAME                              DESCRIPTION                                     STARS     OFFICIAL   AUTOMATED
nginx                             Official build of Nginx.                        15178     [OK]
.....
.....
[root@kuangshen ~]# docker pull nginx					// 下载
Using default tag: latest
latest: Pulling from library/nginx
.....
.....
docker.io/library/nginx:latest
[root@kuangshen ~]# docker images						// 查看镜像
REPOSITORY    TAG       IMAGE ID       CREATED        SIZE
mysql         5.7       9f1d21c1025a   6 hours ago    448MB
nginx         latest    4cdc5dd7eaad   13 days ago    133MB
hello-world   latest    d1165f221234   4 months ago   13.3kB
centos        latest    300e315adb2f   7 months ago   209MB
[root@kuangshen  ~]# docker run -d --name=nginx01 -p 3346:80 nginx		// 启动容器
b34c7392ddac215a5500583458670b67451d05c4a51ad2d573da787db1bdb222
[root@kuangshen ~]# docker ps											// 查看容器
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS         PORTS                                   NAMES
b34c7392ddac   nginx     "/docker-entrypoint.…"   10 seconds ago   Up 9 seconds   0.0.0.0:3346->80/tcp, :::3346->80/tcp   nginx01
[root@kuangshen ~]#curl localhost:3346					// 本地访问
<!DOCTYPE html>
<html>
<head>
<title>Welcome to nginx!</title>
<style>
    body {
        width: 35em;
        margin: 0 auto;
        font-family: Tahoma, Verdana, Arial, sans-serif;
    }
</style>
</head>
<body>
<h1>Welcome to nginx!</h1>
<p>If you see this page, the nginx web server is successfully installed and
working. Further configuration is required.</p>

<p>For online documentation and support please refer to
<a href="http://nginx.org/">nginx.org</a>.<br/>
Commercial support is available at
<a href="http://nginx.com/">nginx.com</a>.</p>

<p><em>Thank you for using nginx.</em></p>
</body>
</html>
[root@kuangshen ~]#firewall-cmd --zone=public --add-port=3346/tcp --permanent	// 开启端口
FirewallD is not running
[root@kuangshen ~]# systemctl start firewalld									// 
[root@kuangshen ~]# firewall-cmd --zone=public --add-port=3346/tcp --permanent
success
[root@kuangshen ~]# firewall-cmd --reload
success
[root@kuangshen ~]# docker ps							// 查看容器
CONTAINER ID   IMAGE     COMMAND                  CREATED          STATUS          PORTS                                   NAMES
b34c7392ddac   nginx     "/docker-entrypoint.…"   12 minutes ago   Up 12 minutes   0.0.0.0:3346->80/tcp, :::3346->80/tcp   nginx01
[root@kuangshen ~]# docker exec -it nginx01 /bin/bash	// 进入容器
root@b34c7392ddac:/# whereis nginx						// 寻找nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@b34c7392ddac:/#



docker run -d --name=nginx01 -p 3346:80 nginx:命名为nginx01,公网端口为3346;-p宿主机
curl localhost:3346:本机自测

常用命令:
systemctl start firewalld
//开启6379端口
firewall-cmd --zone=public --add-port=8080/tcp --permanent
//检查端口是否开启
firewall-cmd --query-port=6379/tcp
//重启防火墙
firewall-cmd --reload
查看端口号:
netstat -ntlp   //查看当前所有tcp端口·
netstat -ntulp |grep 1935   //查看所有1935端口使用情况·

开启防火墙systemctl start firewalld
确认firewalld状态:systemctl status firewalld

每次改动nginx配置都要进入容器内部,可以在容器外提供一个映射路径:-v 数据卷

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

手揽回忆怎么睡

您的鼓励是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值