# 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
- 编写文件名为Dockerfile的文件
vim Dockerfile
FROM nginx:latest
COPY . /usr/share/nginx/html
EXPOSE 80
- 构建镜像
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
- 运行容器
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
- 验证
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
直接浏览器下载,然后上传到服务器/usr/local/bin
https://github.com/docker/compose/releases/download/v2.27.0/docker-compose-linux-x86_64
重命名为 docker-compose
mv docker-compose-linux-x86_64 docker-compose
添加脚本执行权限
chmod +x docker-compose
添加软连接
ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose
验证安装是否成功
docker-compose version
Docker Compose version v2.27.0
# 关于是否把数据库放进容器
如果是单机应用,一台服务器部署,直接把mysql,redis,java环境,nginx都放进容器方便操作,把数据库映射到宿主机文件夹即可
如果是大规模集群应用,docker容器内不放数据库