docker常用命令

docker笔记

docker安装

在Linux中安装

首先 你要有一台服务器 可以去阿里云买 或者有一台虚拟机 会点Linux基础操作

就可以了

然后安装

#1.卸载以前的版本
	yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
#2.需要安装的安装包
	yum install -y yum-utils

#3.配置镜像仓库 默认官网的是国外的镜像
	用国内的
	yum-config-manager \
    --add-repo \
    http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
    
#4.开始安装docker
yum install docker-ce docker-ce-cli containerd.io

#5.安装后启动
systemctl start docker

#6.docker version 看看启动成功没有
#7.docker run hello-world 启动一个hello 到此 安装成功

安装之后 为了让镜像的速度更快 我们可以再次加强镜像速读

1.打开阿里云网页

2.登录自己的阿里云账号

3.搜索镜像配置

4.找到 自己的镜像专属配置

基本命令

帮助命令

docker version 显示docker版本
docker info 显示docker系统信息
docker 命令 --help 万能命令

镜像命令

[root@izbp12nmkl044l6gs1yldoz /]# docker images -a
REPOSITORY          TAG                 IMAGE ID            CREATED             SIZE
hello-world         latest              bf756fb1ae65        9 months ago        13.3kB

REPOSITORY 	仓库          
TAG         标签        
IMAGE ID    id        
CREATED     创建时间      
SIZE		大小

docker images -a (all) 显示所有的镜像
docker images -q  (quiet)只显示镜像的id

docker search 搜索镜像  + 命令

docker pull 下载镜像

docker pull 镜像[:tag] 指定你下载的镜像的版本 如果不指定 默认是最新的版本

docker rmi 名字 或者 id 删除指定的镜像 
docker rmi -f ${docker images -aq} 递归删除所有的镜像

容器命令

说明:我们有了镜像才能创建容器  Linux中下载一个centos镜像
docker pull centos

新建容器后 启动
docker run [参数]
--name="" 容器名字 用来区分容器
-d 后台方式运行
-it 交互方式运行 进入容器查看内容
-p 指定容器的端口
	-p ip:主机端口:容器端口
	-p 主机端口:容器端口 主机端口映射容器端口(常用)
	-p 容器端口
	容器端口
-P 随机指定端口 

测试 并机进入容器

[root@izbp12nmkl044l6gs1yldoz /]# docker run -it centos /bin/bash #交互运行 需要控制台 而控制台一般在bin下面

进入后
[root@d21d257391f5 /]# ls
bin  etc   lib	  lost+found  mnt  proc  run   srv  tmp  var
dev  home  lib64  media       opt  root  sbin  sys  usr

使用后退出
exit

列出正在运行的容器
docker ps 命令 

docker ps  -a 列出使用过的容器和正在运行的容器
docker ps -a -n=1 列出最近最后一个使用的容器
-aq  只显示出容器的编号

删除容器
docker rm 容器的id 不能删除正在运行的容器
docker rm -f $(docker ps -aq) 查出所有的容器id 并递归删除

docker start 容器id
docker restart 容器id
docker stop 容器id
docker kill 容器id

常用的其它命令

后台启动容器

docker run -d 镜像名 
但是:如果你的前台没有进程的话 后台的镜像 会默认关闭的 

查看日志

docker logs -f -t --tail 条数 容器
-tf  显示所有的日志
tail number
查看centos的前10条数据
docker logs -tf -tail 10 centos

查看容器中的进程信息

docker top 容器id

查看元数据

docker inspect 容器id

进入当前正在运行的容器

docker exec -it 容器id bashshell
进入后开启新的终端
[root@izbp12nmkl044l6gs1yldoz /]# docker ps
CONTAINER ID        IMAGE               COMMAND             CREATED             STATUS              PORTS               NAMES
9958e85e2f09        centos              "/bin/bash"         41 seconds ago      Up 40 seconds                           crazy_brahmagupta
[root@izbp12nmkl044l6gs1yldoz /]# docker exec -it 9958e85e2f09  /bin/bash
[root@9958e85e2f09 /]# docker ps
bash: docker: command not found
[root@9958e85e2f09 /]# ps -ef
UID        PID  PPID  C STIME TTY          TIME CMD
root         1     0  0 11:46 pts/0    00:00:00 /bin/bash
root        14     0  0 11:47 pts/1    00:00:00 /bin/bash
root        28    14  0 11:48 pts/1    00:00:00 ps -ef

docker attach 容器id
attach的作用是不是直接进入容器本身 而是直接进入容器正在运行的命令行

从容器中拷贝数据到主机上

docker cp 容器id:容器内的路径 目的的主机路径

docker安装Nginx

1.搜索镜像 docker search

2.下载镜像 pull

3.运行测试

进入Nginx容器中

docker exec -it nginx01 /bin/bash

[root@izbp12nmkl044l6gs1yldoz /]# docker exec -it nginx01 /bin/bash
root@fb14ae239b9a:/# whereis nginx
nginx: /usr/sbin/nginx /usr/lib/nginx /etc/nginx /usr/share/nginx
root@fb14ae239b9a:/# cd /etx/nginx
bash: cd: /etx/nginx: No such file or directory
root@fb14ae239b9a:/# cd /etc/nginx
root@fb14ae239b9a:/etc/nginx# ls
conf.d		koi-utf  mime.types  nginx.conf   uwsgi_params
fastcgi_params	koi-win  modules     scgi_params  win-utf
root@fb14ae239b9a:/etc/nginx#  


es

docker run -d --name elasticsearch -p 9200:9200 -p 9300:9300 -e "discovery.type=single-node" -e ES_JAVA_OPTS="-Xms64m -Xmx512m" elasticsearch:tag

docker镜像讲解

镜像是什么?

是一种轻量级,可执行的独立软件包,用来打包软件运行环境和基于运行环境开发的软件,它包含运行某个软件所需要的内容,包括代码,库,配置文件,环境变量

所有的应用直接打包下载就可以直接跑起来

数据卷挂载

将容器中的数据实时更新到本地中去

-v

docker run -it -v /home/ceshi:/home
#将容器中home目录下的所有东西 都挂载到本机的home下的ceshi中去

DockerFile

dockerfile是面向开发的 我们以后发布项目 作镜像 就需要写dockerfile,这个文件很简单

docker镜像逐渐称为企业交付的标准

步骤:开发 部署 运维

dockerfile:构建文件 定义一切步骤 源代码

dockerimages:通过dockerfile构建生成的镜像,最终发布和运行的产品

docker容器:容器就是镜像运行起来提供的服务器

dockerfile的指令

FORM 		# 基础镜像 一切从这里开始
MAINTAINE	# 镜像是谁写的 姓名+邮箱
RUN			# 镜像构建的时候需要运行的命令
ADD			# 步骤:Tomcat镜像 这个Tomcat压缩包 添加内容
WORKDIR		# 镜像的工作目录
VOLUME		# 挂载的目录
EXPOSE		# 保留端口配置
CMD			# 指定这个容器启动的时候要运行的命令 只有最后一个会生效
ENTRYPOINT	# 指定一个容器启动的时候要运行的命令 可以追加命令
ONBUILD		# 当构建一个被继承的dockerfile 这个时候就会运行这个指令
COPY		# 类似ADD 将我们文件拷贝到镜像中
ENV			# 构建时候设置环境变量

自己构建一个centos

1.写配置信息
WORKDIR $MYPATH
RUN yum -y install vim
RUN yum -y install net-tools

EXPOSE 80

CMD echo $MYPATH
CMD echo "-------end--------"
CMD /bin/bash 
2.运行这个脚本文件 
 docker build -f mydockerfile-centos -t mycentos:0.1 .注意 这个点不能没有
3.运行测试  docker run -it 

自己构建一个Tomcat镜像 在自己配置的centos中

FROM centos
MAINTAINER zxh<331759124@qq.com>

ADD jdk-8u261-linux-x64.tar.gz /usr/local
ADD apache-tomcat-9.0.37.tar.gz /usr/local

RUN yum -y install vim

ENV MYPATH /usr/local
WORKDIR $MYPATH

ENV JAVA_HOME /usr/local/jdk1.8.0_11
ENV CLASSPATH $JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
ENV CATALINA_HOME /usr/local/apache-tomcat-9.0.37
ENV CATALINA_BASH /usr/local/apache-tomcat-9.0.37
ENV PATH $PATH:$JAVA_HOME/bin:$CATALINA_HOME/lib:$CATALINA_HOME/bin

EXPOSE 8080

CMD /usr/local/apache-tomcat-9.0.37/bin/startup.sh && tail -F /usr/local/apache-tomcat-9.0.37/bin/logs/catalina.out

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值