Docker 安装与使用

目录

一、Docker安装

1.1、yum更新

1.2、卸载旧版本(如果安装过旧版本的话)

1.3、安装需要的软件包

1.4、设置yum源

1.5、查看仓库中docker版本

1.6、安装

1.7、配置加速

1.8、服务生效

1.9、安装docker-compress

1.10、启停命令

二、常用命令

三、容器示例

3.1、Portainer(docker管理工具)

3.2、Tomcat

3.3、MongoDB

3.4、Redis


一、Docker安装

1.1、yum更新

sudo yum update

1.2、卸载旧版本(如果安装过旧版本的话)

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

1.3、安装需要的软件包

yum-util 提供yum-config-manager功能,另外两个是device mapper驱动依赖的

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

1.4、设置yum源

# 国外镜像
yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
# 阿里镜像
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

1.5、查看仓库中docker版本

yum list docker-ce --showduplicates | sort -r

1.6、安装

#安装最新稳定版
sudo yum install -y docker-ce docker-ce-di containerd.io 

#指定安装版本
sudo yum install xxx 

1.7、配置加速

mkdir -p /etc/docker

# 阿里云镜像地址 systemd驱动设置
tee /etc/docker/daemon.json <<-'EOF'
{
    "registry-mirrors":["https://82m9ar63.mirror.aliyuncs.com"],
     "exec-opts":["native.cgroupdriver=systemd"]
}
EOF

1.8、服务生效

# 开机启动
sudo systemctl enable docker
# 载入配置
sudo systemctl daemon-reload
# 重启docker
sudo systemctl restart docker

1.9、安装docker-compress

curl -SL https://github.com/docker/compose/releases/download/v2.20.3/docker-compose-linux-x86_64 -o /usr/local/bin/docker-compose
chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

1.10、启停命令

# 查看状态
systemctl status docker
# 停止
systemctl stop docker
# 启动
systemctl start docker
# 重启
systemctl daemon-reload && systemctl restart docker

二、常用命令

在公用仓库中pull仓库镜像

docker pull registry

启动仓库镜像

#-d意思是后台运行,-p是做端口映射,这里是将本地的5000端口和容器中的5000端口对应 --restart=always自启动
docker run -d -p 5000:5000 registry

验证仓库

浏览器访问 http://127.0.0.1:5000/v2/_catalog

将本地镜像上传私有仓库

# 将镜像打上标签
docker tag hello 127.0.0.1:5000/hello
# 将镜像推送到本地仓库
docker push 127.0.0.1:5000/hello

进入容器

docker exec -it c4c /bin/bash

通过容器ID生成镜像

docker commit -m "oracle 11g" d038360bc3b8 cjavapy/oracle11g:latest

保存镜像到本地

docker save -o /home/openjdk.tar openjdk:8-jre-slim

加载镜像

# 原镜像名加载 
docker load < /home/openjdk.tar
# 指定新镜像名
docker import - openjdk:1 < /home/openjdk.tar

Dockerfile 构建

docker build --no-cache=true -t 新镜像名字:TAG .

三、容器示例

3.1、Portainer(docker管理工具)

docker run -d --name portainer -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data  6053537/portainer-ce

3.2、Tomcat

docker run --name tomcat8083 -p 8083:8080 -v f:/docker/tomcat/8083/logs:/usr/local/tomcat/logs -v f:/docker/tomcat/8083/webapps:/usr/local/tomcat/webapps -v d:/Logs:/logs --restart=always -d tomcat:8.5.73-jdk8-corretto

3.3、MongoDB

docker run -itd --name mongo -p 27017:27017 -e MONGO_INITDB_ROOT_USERNAME=admin -e MONGO_INITDB_ROOT_PASSWORD=admin --restart=always --mount source=mongo-db,target=/data/db 127.0.0.1:5000/mongo

docker-compose.yml

version: '3.7'
services:
  mongo:
    container_name: mongo
    image: 127.0.0.1:5000/mongo
    hostname: mongo
    volumes:
      - ./data/configdb:/data/configdb
      - ./data/db:/data/db
    ports:
      - "27017:27017"
    restart: always
    environment:
      MONGO_INITDB_ROOT_USERNAME: admin
      MONGO_INITDB_ROOT_PASSWORD: admin
    privileged: true

3.4、Redis

三主三从集群创建

for port in $(seq 7001 7006);\
do\
mkdir -p /mydata/redis/node-${port}/conf
touch /mydata/redis/node-${port}/conf/redis.conf
cat << EOF >/mydata/redis/node-${port}/conf/reids.conf
port ${port}
cluster-enabled yes
cluster-config-file nodes.conf
cluster-node-timeout 5000
cluster-announce-ip 192.168.8.56.10
cluster-announce-bus-port 1${port}
appendonly yes
EOF
docker run -p ${port}:${port} -p 1${port}:1${port} --name redis-${port} --restart always \
    -v /mydata/redis/node-${port}/data:/data \
    -v /mydata/redis/node-${port}/config/redis.conf:/etc/redis/redis.conf \
    -d redis.5.0.7 redis-server /etc/reids/redis.conf;\
done

集群配置

docker exec -it redis-7001 /bin/bash
redis-cli --cluster create ip1:port1 ip2:port2 ... --cluster-replicas 1 

  • 9
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值