安装docker以及docker常用命令

 

 

(1)查看centos版本;

Docker 要求CentOS系统的内核版本最低3.10            

 (2)若版本低于 3.10  则更新                                   

 

(3) 安装docker       yum install docker                                

                                      

 (4)启动docker

                                          

                                         

(5)设置docker开启则启动

(6)停止docker 命令                      

 

配置完镜像加速后:

1.通知systemd重载此配置文件;
systemctl daemon-reload
2.重启docker服务
systemctl restart docker 

(7)docker 安装MySQL

       执行 docker search 关键字            去docker hub上检索镜像的详细信息,如镜像的TAG。 会得到一个镜像列表

   拉取docker pull   镜像名:tag                        tag是可选的,tag表示标签,多为软件的版本,默认是latest 

 

列表         docker images           查看所有本地镜像 

删除  docker rmi image-id   删除指定的本地镜像

若容器已经在运行,请先删除容器,再删除镜像。

容器操作:

运行docker容器: 

docker run --name  mytomcat -d  tomcat:latest   

注意这里还不能通过外部的 8080 端口访问,因为docker容器中启动的8080端口号不是虚拟机的8080端口号,需要映射才能完成操作。需要进行一下操作,启动Tomcat  ,然后在浏览器中输入 localhost:虚拟机端口号   就可以方法 Tomcat 主页。

 

查看防火墙状态:  service firewalld status

临时关闭防火墙: service firewalld stop

 

启动MySQL

添加端口映射,外部才能访问。

[root@localhost docker]# docker run -p 3306:3306 --name mydata -e MYSQL_ROOT_PASSWORD=root -d mysql:5.6.46
2d000afd66abda1b0acdc316dc3413780e0bb508f94787575a4080de1d641f02

查看已经安装的docker镜像的基础信息: docker inspect  images-name:tag

[root@localhost ~]# docker inspect mysql:5.6.46

 

容器操作:运行

docker run--name 容器名-i  -t -p 主机端口:容器端口 -d  -v  主机目录:容器目录:ro  镜像ID或镜像名:TAG
#--name 指定容器名,可自定义,不指定自动命名
#-i以交互模式运行容器
#-t分配一个伪终端,即命令行,通常-it组合来使用
#-p指定映射端口,讲主机端口映射到容器内的端口
#-d后台运行容器
#-V指定挂载主机日录到容器日录,默认为rw读写模式,ro表示只读
进入到容器里面:# docker exec -it 容器名或容器id  /bin/bash
找到Tomcat容器配置文件 # cd  /docker-java-home/jre/lib/security/               -----》java.security
验证文件改为  securerandom.source=file:/dev/./urandom

exit 退出容器

删除容器:  docker rm -f 容器名或容器id

进入root目录  #cd /root/
上传文件   # rz
快速启动容器 # docker run --name 自定义容器名 -p 80:8880 -v  /root/java.security:/docker-java-home/jre/lib/security/java.security -d tomcat:latest
查看Tomcat日志 # docker logs 自定义容器名

 

在docker中部署 springboot 项目

在jar包路径下创建Dockerfile文件vi Dockerfile
#指定基础镜像,本地如果没有会从 dockerhub 上 pull 下来
FROM openjdk:8
#把可执行jar包复制到基础镜像的根目录下
ADD learn.jar /learns.jar
#镜像要暴露的端口,如要使用端口,在执行docker run命令时使用-p生效
EXPOSE 80
#在镜像运行为容器后执行的命令    
ENTRYPOINT ["java","-jar","/learns.jar"]



使用dockerbuild命令构建镜像,基本语法
docker build -f  Dockerfile -t  mylearn/mypro:v1 .
#-f指定Dockerfile文件的路径
#-t指定镜像名字和TAG
#.指当前日录,这里实际上需要一个上下文路径

运行容器
# docker run --name 自定义容器名称  -p 80:80 -d --restart=always mylearn/pro:v1
#加上--restart=always  表示此容器开机启动,只要docker也设置了开机自启,docker不死

构建镜像:

构建镜像:

【方式一】通过commit的方式创建镜像【将容器保存为镜像】
docer commit  容器名/ 容器id  自定义镜像名称


【方式二】通过dockerfile的方式创建镜像
vim  Dockerfile
FROM nginx
ADD ./ /user/share/nginx/html/

vim index.html    【在html文件中写内容】

docker build -t m2 .

docker run -d -p 100:80 m2


【方式三】通过docker save 指令完成

将一个镜像保存到一个文件里
 docker save 镜像id/镜像名  > test.tar

docker load < test.tar



------------------------------------------------------------------------------

-d 在run后面加上-d参数,则会创建一个守护式容器在后台运行(这样创建容器后不会自动登录容器,如果只加-i-t两个参数,创建后就会自动进去容器)
-p 指定端口映射
-v 映射文件(将宿主机和容器的目录或者文件做映射)
--name 指定容器运行起来后的名称    docker ps  中的 【names】就是我们自定义的名字       【name】是镜像的名称
-i 表示运行容器
-t 表示容器启动后会进入其命令行
加入这两个参数后,容器创建就能登录进去



查看正在运行的容器
 docker ps  

查看所有容器
docker ps -a

查看最后一次运行的容器
docker ps -l

查看停止的容器
docker ps -f status=exited


(1)交互式方式创建容器
docker run -it --name=容器名称 镜像名称:标签   /bin/bash
这时我们通过ps命令查看,发现可以看到启动的容器,状态为启动状态
退出当前容器
exit
(2)守护式方式创建容器(后台运行):
docker run -di --name=容器名称 镜像名称:标签
登录守护式容器方式:
docker exec -it 容器名称(或者容器ID)/bin/bash

进入到容器中:
docker exec -it  容器名称/容器id  /bin/bash


【外部】复制文件到【容器】中去:
docker cp /外部目录/外部文件 容器名:/容器目录/文件名【若最后写了文件名,就以最后的文件名为主】


【容器】复制文件到【外部】:
docker cp 容器名:/容器目录/容器中的文件   /外部目录/文件名【若最后写了文件名,就以


(目录挂载)文件映射:
docker run  -di -v /us/local/myhtml:/user/local/myhtml --name=自定义容器名  镜像名:版本号

docker run -di --name=mytomcat  -p 9000:8080 -v  /usr/local/webapps:/usr/local/tomcat/webapps tomcat:7-jre7


docker run -di --name=mynginx -p 90:80 -v /usr/html:/usr/share/nginx/html nginx:1.17.5



查看容器所有信息:
docker inspect 容器名

docker inspect --format=`{{.Networksettings.IPAddress}}`


nginx :
cd /etc/nginx/nginx.conf


这里面包含nginx下的所有配置
include /etc/nginx/conf.d/*.conf

cd conf.d
dir
cat default.conf

location {
     root   /usr/share/nginx/html;
     index  index.html index.htm;	
}

将当前目录下的dist文件夹 改名为html
mv dist html


               命令                                    作用
FROM image_name:tag            定义了使用哪个基础镜像启动构建流程
MAINTAINER user_name           声明镜像的创建者
ENV key value                  设置环境变量(可以写多条)
RUN command                    是Dockerfile的核心部分(可以写多条)
ADD source_dir/file	           将宿主机的文件复制到容器内,如果是一个压缩文件,将会在复制后自动解压
dest_dir/file                 
COPY souce_dir/file            和ADD相似,但是如果有压输文件并不能解压       
dest_dir/file 
WORKDIR path_dir               设置工作目录


 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值