centos8下docker安装及容器远程访问

主机环境:centos8

一、docker 安装

step1:添加Docker存储库文件:(两种方式)

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

如果使用阿里云镜像源:可以用sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

(2) sudo curl  https://download.docker.com/linux/centos/docker-ce.repo -o /etc/yum.repos.d/docker-ce.repo,然后sudo yum makecache更新RPM索引缓存

 

step2:安装docker及客户端

sudo yum install docker-ce docker-ce-cli

如提示:package docker-ce-3:19.03.4-3.el7.x86_64 requires containerd.io >= 1.2.2-3 那就先装新版的 containerd.io

sudo dnf install https://download.docker.com/linux/centos/7/x86_64/stable/Packages/containerd.io-1.2.6-3.3.el7.x86_64.rpm

step3:验证docker安装及后续设置

#docker --version

#systemctl enable docker

#systemctl start docker

#usermod -aG docker 你登录centos用户名        //(添加用户到docker组,避免docker操作时验证权限)

 二、配置阿里云镜像加速

注册阿里云账号,登录阿里云控制台——>产品与服务——>弹性计算——>容器镜像服务-》镜像加速器,取得个人加速器地址:

[root@server1 ~]# cd /etc/docker/

[root@server1 docker]# ls

key.json

[root@server1 docker]# vi daemon.json

{

  "registry-mirrors": ["个人加速器地址"]

}

[root@server1 docker]# systemctl daemon-reload

[root@server1 docker]# systemctl restart docker

三、创建容器

(1) 关闭防火墙

systemctl stop firewalld

(2) Docker-Mysql

下载mysql

docker pull mysql

创建container

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

进入container,设置mysql

docker exec -it mysql-test bash

mysql -u root -p

CREATE USER 'ljh'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

GRANT ALL PRIVILEGES ON *.* TO 'ljh'@'%';

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%';

flush privileges;

本机安装navicat for mysql,连接mysql。

(3) Docker-tomcat

下载tomcat

docker pull tomcat

运行我们的tomcat镜像

 docker run -d -p 8888:8080 -v /root/tomcat/:/usr/local/tomcat/webapps/ tomcat

参数说明:

-d 后台运行

-p 指定访问主机的8888端口映射到8080端口。

-v 指定我们容器的/usr/local/tomcat/webapps/目录为/root/tomcat/主机目录,后续我们要对tomcat进行操作直接在主机这个目录操作即可。

在/root/tomcat/新建test目录,并在test目录下写入hello.html文件

<html>

<head>Tomcat Run In Docker</head>

<body>

hello docker.

</body>

</html>

访问这个页面:
curl -i http://127.0.0.1:8888/test/hello.html

注意

我们不能直接在tomcat目录下直接创建hello.html文件,curl -i http://127.0.0.1:8888/hello.html 访问的结果404.

(4) 启动防火墙

systemctl start firewalld

添加端口规则:

firewall-cmd --add-port 8888/tcp

firewall-cmd --add-port 3306/tcp

firewall-cmd --runtime-to-permanent

(5) 不能远程访问情况下处理

保证先关掉防火墙下,systemctl restart docker,然后启动容器,再打开防火墙就可以。

感谢https://www.cnblogs.com/Hvai/博主给予的帮助

参考文章:

https://www.cnblogs.com/Hvai/p/11819520.html

猜你喜欢

转载自www.cnblogs.com/laop520/p/12053556.html