# Centos安装docker、docker-compose

# 卸载旧版本

sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine

清除旧数据(慎重)

rm -rf /var/lib/docker/

# 添加yum源

yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo

# 查看yum源

yum repolist

[root@VM-24-7-centos ~]# yum repolist
已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
docker-ce-stable/7/x86_64/primary_db                                                                                                                                                                | 150 kB  00:00:03     
源标识                                                                                                源名称                                                                                                         状态
docker-ce-stable/7/x86_64                                                                             Docker CE Stable - x86_64                                                                                         330
epel/7/x86_64                                                                                         EPEL for redhat/centos 7 - x86_64                                                                              13,796
extras/7/x86_64                                                                                       Qcloud centos extras - x86_64                                                                                     526
os/7/x86_64                                                                                           Qcloud centos os - x86_64                                                                                      10,072
updates/7/x86_64                                                                                      Qcloud centos updates - x86_64                                                                                  5,886
repolist: 30,610


# 安装docker

yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# 启动docker

systemctl start docker

# 运行hello world 容器

docker run hello-world

# docker运行nginx

  1. 编写文件名为Dockerfile的文件
vim Dockerfile

FROM nginx:latest
COPY . /usr/share/nginx/html
EXPOSE 80

  1. 构建镜像
docker build -t my-nginx .

[root@VM-24-7-centos test-docker]# docker images
REPOSITORY    TAG       IMAGE ID       CREATED              SIZE
my-nginx      latest    c9c7c24039d0   About a minute ago   188MB
hello-world   latest    d2c94e258dcb   12 months ago        13.3kB
  1. 运行容器
docker run --name my-nginx -d -p 8888:80 my-nginx

[root@VM-24-7-centos test-docker]# docker run --name my-nginx -d -p 8888:80 my-nginx
e8b6ed970f5d9cca89a81db1be3c30699d3b4e4bbad6e6b824d0035d036d0de5
[root@VM-24-7-centos test-docker]# docker ps
CONTAINER ID   IMAGE      COMMAND                   CREATED         STATUS         PORTS                                   NAMES
e8b6ed970f5d   my-nginx   "/docker-entrypoint.…"   4 seconds ago   Up 3 seconds   0.0.0.0:8888->80/tcp, :::8888->80/tcp   my-nginx
  1. 验证
curl localhost:8888
curl localhost:8888/test.html

# 进入容器

docker exec -it  e8b6ed970f5d bash

# 彻底卸载docker

yum remove docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin docker-ce-rootless-extras

rm -rf /var/lib/docker
rm -rf /var/lib/containerd

# 安装docker-compose

  1. 直接浏览器下载,然后上传到服务器/usr/local/bin

    https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-linux-x86_64

  2. 重命名为 docker-compose

    mv docker-compose-linux-x86_64 docker-compose

  3. 添加脚本执行权限

    chmod +x docker-compose

  4. 添加软连接

    ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

  5. 验证安装是否成功

    docker-compose version

   Docker Compose version v2.27.0

# 关于是否把数据库放进容器

  1. 如果是单机应用,一台服务器部署,直接把mysql,redis,java环境,nginx都放进容器方便操作,把数据库映射到宿主机文件夹即可

  2. 如果是大规模集群应用,docker容器内不放数据库