Docker03:Docker常用安装实例

0、安装步骤

  • 搜索镜像

  • 拉取镜像

  • 查看镜像

  • 启动镜像

  • 停止容器

  • 移除容器

1、安装Mysql 8.0

(1)查找镜像

#命令
[root@hcz666 home]# docker search mysql

image-20210829104142351

Docker仓库官网地址:https://hub.docker.com/

image-20210829104355594

(2)拉取mysql镜像

#命令
[root@hcz666 home]# docker pull mysql:8.0

image-20210829104740328

(3)运行镜像创建容器

#创建容器命令
[root@hcz666 home]# docker run -p 3307:3306 --name mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0

-----------------------------------------
#命令说明:
-p 12345:3306:将主机的3307端口映射到docker容器的3306端口。
-name mysq:运行服务名字
-V /ggcc/mysql/conf:/etc/mysql/conf.d :将主机/zzyyuse/mysq|录下的conf/my.cnf挂载到容器的/etc/mysql/conf.d
-v /ggcc/mysqlogs/logs: 将主机/zzyyuse/mysq|目 录下的logs 目录挂载到容器的/logs。
-V /ggcc/mysqldata:/var/lib/mysql :将主机lzzyyuse/mysql目录下的data目录挂载到容器的/var/lib/mysql .
-e MYSQL_ ROOT_ PASSWORD=123456: 初始化root用户的密码。.
-d mysql:8.0:后台程序运行mysql8.0 

image-20210829105520062

#进入容器命令
[root@hcz666 home]# docker exec -it 8369c02597aa(容器ID) /bin/bash

image-20210829105859278

(4)登录Mysql

#登录命令(前提需要进入容器中)
mysql -uroot -p

image-20210829111943289

(5)授权远程登录访问

#授权命令(创建一个hcz_Docker的用户,密码为123456)
CREATE USER 'hcz_Docker'@'%' IDENTIFIED WITH mysql_native_password BY '123456';

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

image-20210829113101517

image-20210829113247449

image-20210829113343701

2、安装Nginx

(1)查找镜像

#命令
[root@hcz666 home]# docker seach nginx

image-20210829122341351

(2)拉取镜像

#命令
[root@hcz666 home]# docker pull nginx

image-20210829122553969

(3)运行镜像创建容器

#创建容器命令
[root@hcz666 home]# docker run -d --name nginx01 -p 6656:80 nginx

#参数说明
-d 后台运行
--name 给容器命名
-p 6656:80 将宿主机的端口6656映射到该容器的80端口

image-20210829122832830

#进入容器命令
[root@hcz666 home]# docker exec -it nginx01 /bin/bash
#查看nginx位置
root@b9dfbd1a1160:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@b9dfbd1a1160:/# cd /etc/nginx/
root@b9dfbd1a1160:/etc/nginx# ls
conf.d	fastcgi_params	mime.types  modules  nginx.conf  scgi_params  uwsgi_params

image-20210829130025241

(4)浏览器访问

#浏览器访问
http://外网IP地址:3334/

image-20210829130217176

注意:这里我又重新创建了一个端口为3334的容器了

(5)部署静态网页

  • 第一个会话
#在根目录下传进来一个test.html页面
[root@hcz666 ~]# cat test.html
<!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>²¿˰ؔ¶¨ӥ¾²̬θҳµ½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@hcz666 ~]# 
[root@hcz666 ~]# ls -l
total 8
-rw-r--r-- 1 root root  25 Aug 10 19:03 hcz.txt
-rw-r--r-- 1 root root 646 Aug 29 14:42 test.html
#该test.html文件在/root目录下
[root@hcz666 ~]# pwd
/root
[root@hcz666 ~]# docker ps
CONTAINER ID   IMAGE       COMMAND                  CREATED       STATUS          PORTS                                                  NAMES
bed325ebfd51   nginx       "/docker-entrypoint.…"   2 hours ago   Up 12 minutes   0.0.0.0:6656->80/tcp, :::6656->80/tcp                  nginx01
8369c02597aa   mysql:8.0   "docker-entrypoint.s…"   4 hours ago   Up 4 hours      33060/tcp, 0.0.0.0:3307->3306/tcp, :::3307->3306/tcp   mysql
#将该html文件拷贝到/usr/share/nginx/html中
[root@hcz666 ~]# docker cp test.html bed325ebfd51:/usr/share/nginx/html

image-20210829145657742

  • 第二个会话
[root@hcz666 home]# docker ps 
CONTAINER ID   IMAGE       COMMAND                  CREATED       STATUS         PORTS          
bed325ebfd51   nginx       "/docker-entrypoint.…"   2 hours ago   Up 5 seconds   0.0.0.0:6656->8
8369c02597aa   mysql:8.0   "docker-entrypoint.s…"   4 hours ago   Up 4 hours     33060/tcp, 0.0.
[root@hcz666 home]# docker exec -it nginx01 /bin/bash
#查看nginx目录
root@bed325ebfd51:/# whereis nginx  
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@bed325ebfd51:/# cd /usr/share/nginx
root@bed325ebfd51:/usr/share/nginx# ls
html
#进入/usr/share/nginx/html目录下
root@bed325ebfd51:/usr/share/nginx# cd html
#发现有两个html页面,一个为错误页面,另外一个为欢迎页面
root@bed325ebfd51:/usr/share/nginx/html# ls
50x.html  index.html
#将自定义test.html页面其拷贝进来
root@bed325ebfd51:/usr/share/nginx/html# ls
50x.html  index.html  test.html

image-20210829145847868

  • 浏览器访问

image-20210829150006034

3、安装Tomcat

(1)查找镜像

#命令
[root@hcz666 home]# docker search tomcat

image-20210829131022089

(2)拉取镜像

#命令
[root@hcz666 home]# docker pull tomcat

image-20210829131248717

(3)运行镜像创建容器

#命令
[root@hcz666 home]# docker run -d -p 6656:8080 --name tomcat01 tomcat

image-20210829131431411

(4)进入容器

#命令
[root@hcz666 home]# docker exec -it tomcat01 /bin/bash
root@3a5b0d6c5f23:/usr/local/tomcat# ls
BUILDING.txt	 LICENSE  README.md	 RUNNING.txt  conf  logs	    temp     webapps.dist
CONTRIBUTING.md  NOTICE   RELEASE-NOTES  bin	      lib   native-jni-lib  webapps  work
root@3a5b0d6c5f23:/usr/local/tomcat# cd webapps.dist/
root@3a5b0d6c5f23:/usr/local/tomcat/webapps.dist# ls
ROOT  docs  examples  host-manager  manager
root@3a5b0d6c5f23:/usr/local/tomcat/webapps.dist# cd ROOT/
root@3a5b0d6c5f23:/usr/local/tomcat/webapps.dist/ROOT# ls
RELEASE-NOTES.txt  asf-logo-wide.svg  bg-middle.png  bg-upper.png  index.jsp   tomcat.svg
WEB-INF		   bg-button.png      bg-nav.png     favicon.ico   tomcat.css
root@3a5b0d6c5f23:/usr/local/tomcat/webapps.dist/ROOT# cd ../../
#发现webapps是个空文件夹
root@3a5b0d6c5f23:/usr/local/tomcat# cd webapps
root@3a5b0d6c5f23:/usr/local/tomcat/webapps# ls
#将webapps.dist拷贝到webapps目录下
root@3a5b0d6c5f23:/usr/local/tomcat/webapps# cp -r /usr/local/tomcat/webapps.dist/* /usr/local/tomcat/webapps/
root@3a5b0d6c5f23:/usr/local/tomcat/webapps# ls
ROOT  docs  examples  host-manager  manager
root@3a5b0d6c5f23:/usr/local/tomcat/webapps# exit
exit

出现以下问题:

  • Linux命令变少了
  • webapps是个空文件夹

原因:

  • 阿里云镜像默认下载的是最小的镜像,保证最小的运行环境,所有不必要的都剔除掉

(5)浏览器访问

#访问地址
http://外网IP地址:6656/

image-20210829132440384

4、图形化管理工具Portaniner安装

Portaniner是Docker的图形化管理工具,类似的工具还有Rancher(CI/CD再用)

  • 下载运行Portaniner镜像并运行,设置本机映射端口为8088
[root@hcz666 home]# docker run -d -p 8088:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --privileged=true portainer/portainer
Unable to find image 'portainer/portainer:latest' locally
latest: Pulling from portainer/portainer
94cfa856b2b1: Pull complete 
49d59ee0881a: Pull complete 
a2300fd28637: Pull complete 
Digest: sha256:fb45b43738646048a0a0cc74fcee2865b69efde857e710126084ee5de9be0f3f
Status: Downloaded newer image for portainer/portainer:latest
6e046839475b2753501d6f7c36eb29584a4a54cb6631c13fabab731296c8033a
[root@hcz666 home]# docker ps
CONTAINER ID   IMAGE                 COMMAND        CREATED         STATUS         PORTS                                       NAMES
6e046839475b   portainer/portainer   "/portainer"   8 seconds ago   Up 5 seconds   0.0.0.0:8088->9000/tcp, :::8088->9000/tcp   nervous_jepsen
[root@hcz666 home]# 
  • 第一次登录设置用户名和密码

image-20210829102821499

  • 如果是阿里云服务器记得设置安全组,选择连接本地的Docker,整体界面预览如下图:

image-20210829102329512

  • 可以查看所有的镜像

image-20210829102803251

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

@烟雨倾城ゝ

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值