docker docker-compose命令 使用

 

1.1 Centos 安装docker

国内下载地址 http://get.daocloud.io/

1、更新update到最新的版本  
    yum  update
2、卸载老版本docker
    yum  remove docker  docker-common docker-selinux  docker-engine
3、安装需要的软件包
    yum install -y yum-utils  device-mapper-persistent-data lvm2
4、设置yum源
    yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
5、查看docker版本
    yum list docker-ce --showduplicates|sort -r  

6、安装docker
    yum  install  docker-ce-18.03.1.ce -y
7、启动docker
    systemctl start docker
8、加入开机自启
    systemctl enable docker

9、配置国内镜像

    vi /etc/docker/daemon.json 
    {
        "registry-mirrors": ["http://hub-mirror.c.163.com"]
    }
docker 命令


1.启动
 docker start 容器名
2.删除
   docker rm 容器名
3.停止所容器
  docker stop  $(docker ps -a -q)
  docker rm  $(docker ps -a -q) 

docker ps -a  查看所有容器
docker ps 查看运行的容器
docker rmi -f $(docker images -qa) 删除所有镜像

命令会彻底清除所有容器。
docker system prune -a -f

4.docker build -t 名称 .         #如果构建多次出错,可以设置不成缓存数据构建 --no-cache
  Usage:docker build [OPTIONS] PATH | URL | -

  OPTIONS:
  -t ,--tag list  #构建后的镜像名称
  -f, --file string #指定Dockerfiile文件位置
    示例:
     1,docker build . 
     2,docker build -t redis:v1 .
     3,docker build -t redis:v2 -f /path/Dockerfile /path

一般常用第2种方式构建,我们在构建时都会切换到Dockerfile文件的目录下进行构建,所以不需要指定-f参
5.创建自定义网络
docker network create --subnet=192.168.1.0/24 mynetwork
6.创建容器
docker run -itd --name  nginx-master  --net mynetwork  -p 8000:80  --ip 192.168.1.2  nginx 
ocker run -itd --name  nginx8002-102  --net mynetwork  -p 8003:80 -v /test:/data  --ip 192.168.1.102  nginx #共享文件 -v 一定不能把容器里的配置文件目录共享,因为共享初始化会清空容器的文件目录,会提示找不到配置文件
docker run -it --name redis-master --net mynetwork -p 6380:6379 --ip 192.168.1.2 redis 
镜像名一定要放最后,因为创建的时候别的命令可能会有影响造成意外情况 报错
 
进入镜像内部 
docker run -it 容器ID /bin/bash 
docker run -it mysql:5.7 /bin/bash 
7.进入容器
docker exec -it nginx bash #如果提示容器没有启动,说明创建容器的时候报错了,重新创建的时候去掉-d 不要后台运行,查看报错信息 docker run -it 
bash (bash是挂一个前台命令, 如果是比如redis之类的软件容器,必须要前台运行,不能挂后台,要不启动容器就默认退掉了,redis软件之类容器的 如果运行带bash会把容器启动的cmd替换掉,导致redis服务没启动)

8.查看所有容器ip地址
docker network inspect mynetwork

9.Docker 退出容器但不关闭当前容器

方法一:如果要正常退出不关闭容器,请按Ctrl+P+Q进行退出容器

方法二:如果使用exit退出,那么在退出之后会关闭容器,可以使用下面的流程进行恢复

使用docker restart命令重启容器
使用docker attach命令进入容器

10.查看容器的日志
docker logs 容器名

11.宿主机复制数据给运用的容器
docker cp $PWD/conf/php.ini 容器名:/usr/local/etc/php/ 

12导入或导出镜像
docker load --input rocketmq.tar 或 docker load < rocketmq.tar


docker-compose命令


docker-compose up -d 启动目录下默认为docker-compose.yml模板

docker-compose ps 列出项目中目前的所有容器

docker-compose stop 停止正在运行的容器,可以通过docker-compose start 再次启动

docker-compose down 停止和删除容器、网络、卷、镜像。

docker-compose logs 查看服务容器的输出
 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值