Docker基本使用

安装虚拟机

 

在虚拟机中:

一、CentOS7安装docker:

1、安装需要的软件包:
yum install -y yum-utils

2、添加镜像信息(阿里云的镜像进行加速,要不太慢了):
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

3、安装DOCKER CE:
yum -y install docker-ce docker-ce-cli containerd.io

4、经过上面3步,docker就装好了,通过查看版本号验证:
docker -v

5、启动docker(docker默认是没启动的):
systemctl start docker
6、设置docker开机自启动:
systemctl enable docker

 

二、docker常用命令:
#启动Docker服务
systemctl start docker
#停止Docker服务
systemctl stop docker
#重启Docker服务
systemctl restart docker
#添加Docker服务开机启动
systemctl enable docker

 

三、docker镜像加速:
1、国内从DockerHub拉取镜像有时会遇到困难,此时可以配置镜像加速器。
阿里云镜像获取地址:
https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors

登录后  -> 搜索:容器镜像服务 -> 管理控制台 -> 镜像工具 -> 镜像加速器

2、给docker配置阿里云镜像加速:

 2.1在主文件在中创建daemon.json文件 在文件中 填入 镜像加速器复制过去的代码

2.2重新加载daemon并重启docker:
     systemctl daemon-reload
     systemctl restart docker

四、docker镜像:

1、根据镜像名和版本号获取镜像:
docker pull 镜像名[:版本号]
注意:版本号可以省略,默认为最新版本,即:latest
2、查看当前机器上的docker镜像列表:
docker images

(显示的镜像信息各项说明:
<1>REPOSITORY:镜像的仓库源(镜像名/镜像源)
<2>TAG:镜像的标签(版本号)
<3>IMAGE ID:镜像ID
<4>CREATED:镜像创建时间
<5>SIZE:镜像大小)

3、删除镜像(删除镜像时,必须是没有容器使用这个镜像时才能删除):
docker rmi 镜像名
4、查找镜像:在阿里云镜像查找。
<1>搜索镜像:https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors
<2>创建镜像资源库保存镜像:
开通并设置密码:我的-用户名阿里云账户全名

<3>使用docker命令搜索镜像:
docker search 镜像名;如搜索mysql的可用镜像:docker search mysql;

5、运行镜像:结果会为该镜像创建一个容器实例。
docker run -itd --name 容器名 -p x:y -e 参数 镜像源
案例:运行mysql镜像生成mysql容器:
docker run -itd --name mysql-container -p 3307:3306 -e MYSQL_ROOT_PASSWORD=123 mysql
运行mysql镜像源,生成的容器名为mysql-container,将容器的3306端口映射到宿主机的3307端口,指定root用户的密码为123。
run参数-itd:如果不指定,则启动容器后是一个阻塞窗口。
<1>i:以交互模式运行容器,通常与-t同时使用。
<2>t:为容器重新分配一个伪输入终端,通常与-i同时使用。
<3>d:后台运行容器,并返回容器ID。
如果只显示一个字符串则表示容器创建成功。

 

构建自己的镜像:

docker安装mysql:
1、拉取mysql镜像:
docker pull mysql
2、查看镜像验证是否拉取成功:
docker images
3、运行镜像生成mysql容器:
docker run -itd --name 容器名 -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123 mysql
4、查看容器是否运行成功:
docker ps

5、问题:mysql8 之前的版本中加密规则是mysql_native_password,而在mysql8之后,加密规则是caching_sha2_password,导致navicate连接不上mysql容器,解决方式:
<1>进入mysql容器:
docker exec -it mysql容器名 bash
<2>命令登录进入mysql:
mysql -u root -p,回车输入密码。
或者
mysql -uroot -p123,回车。
【注意】ctrl+d表示退出。
<3>use mysql;使用mysql数据库。
<4>修改密码加密规则:
ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '123456';
<5>重启mysql容器:docker restart mysql容器名
【注意】nativate连接docker mysql指定的ip为docker所在机器的ip。

6、ip地址查询
ip addr 并且是第二个的地址

最后到win系统中链接mysql 根据 docker ps 查看链接

 

docker安装tomcat:
1、拉取tomcat镜像:
docker pull tomcat
2、查看镜像验证是否拉取成功:
docker images
3、运行镜像生成tomcat容器:
docker run -itd --name tomcat-container -p 8080:8080 tomcat
4、查看容器是否运行成功:
docker ps
5、tomat容器运行后,还不能访问(404),进入tomcat容器:
docker exec -it tomcat容器名 bash
6、tomcat容器中有两个目录webapps和webapps.dist,webapps中没有东西,而webapps.dist有webapps中应有的东西(webapps放部署的应用):
<1>删除webapps目录:
rm -rf webapps
<2>将webspps.dist重命名为webapps
mv webapps.dist webapp
7、重启tomcat容器:
docker restart tomcat容器名

8、ip地址查询
ip addr 并且是第二个的地址

最后到win系统中在网页输入链接   根据 docker ps 查看端口号

 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值