DevOps运维Centos7.6上部署Docker环境

在Centos7.6上部署Docker环境

#升级yum
sudo yum update
#卸载旧版本docker
sudo yum remove docker  docker-common docker-selinux docker-engine
#安装依赖
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
#设置源
sudo yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum makecache fast
#安装docker
sudo yum install docker-ce
#启动服务
sudo systemctl start docker
#查看版本
docker version
#拉取镜像
docker pull hello-world
#启动容器
docker run hello-world

安装docker-compose并授权

sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose

sudo chmod +x /usr/local/bin/docker-compose

docker-compose -v

重新创建容器并运行

docker-compose up --force-recreate (up 相当于 build + start)

Docker 容器 镜像 删除

  • 查看已运行容器

    • docker ps
  • 查看所有容器

    • docker ps -a
  • 查看images

    • docker images
  • 删除images

    • docker rmi IMAGE ID
    • docker rmi REPOSITORY:TAG
  • 删除镜像

docker stop $(docker ps -a | grep "Exited" | awk '{print $1 }') #停止容器

docker rm $(docker ps -a | grep "Exited" | awk '{print $1 }') #删除容器

docker rmi $(docker images | grep "^<none>" | awk '{print $3}') #删除镜像
  • 停止所有的container,这样才能够删除其中的images:

    • docker stop $(docker ps -a -q)
  • 如果想要删除所有container的话再加一个指令:

    • docker rm $(docker ps -a -q)
  • 要删除全部image的话

    • docker rmi $(docker images -q)

理解要点

expose 与 ports 比较

  • ports: 绑定容器的端口到主机的端口,这样就可以在外网访问docker容器的服务
  • expose: 将当前容器的端口3暴露给link到本容器的容器,expose不会将端口暴露给主机

depends_on 与 links区别

  • depends_on: 指定本容器启动依赖的容器必须先启动
  • links: 保证容器如果ip变化也能访问(基本已经弃用,因为不使用link仍然可以通过容器名称访问)

报错处理

(docker)RUN apt update、(linux)apt和apt-get命令

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

sudo apt install -y blender > /dev/null 2> /dev/null
posted @ 2020-05-31 21:38  justblue  阅读(2264)  评论(0编辑  收藏  举报