01_docker 安装和基本使用

一、Centos 安装Docker


1.1 yum 扩展镜像包下载配置

[root@attack_server_one ~]# curl -o /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

1.2 配置docker的镜像源和安装

# step 1: 安装必要的一些系统工具
sudo yum install -y yum-utils

# Step 2: 添加软件源信息
yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo

# Step 3: 安装Docker
sudo yum install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

# Step 4: 开启Docker服务
sudo service docker start

# 注意:
# 官方软件源默认启用了最新的软件,您可以通过编辑软件源的方式获取各个版本的软件包。例如官方并没有将测试版本的软件源置为可用,您可以通过以下方式开启。同理可以开启各种测试版本等。
# vim /etc/yum.repos.d/docker-ce.repo
#   将[docker-ce-test]下方的enabled=0修改为enabled=1
#
# 安装指定版本的Docker-CE:
# Step 1: 查找Docker-CE的版本:
# yum list docker-ce.x86_64 --showduplicates | sort -r
#   Loading mirror speeds from cached hostfile
#   Loaded plugins: branch, fastestmirror, langpacks
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            docker-ce-stable
#   docker-ce.x86_64            17.03.1.ce-1.el7.centos            @docker-ce-stable
#   docker-ce.x86_64            17.03.0.ce-1.el7.centos            docker-ce-stable
#   Available Packages
# Step2: 安装指定版本的Docker-CE: (VERSION例如上面的17.03.0.ce.1-1.el7.centos)
# sudo yum -y install docker-ce-[VERSION]

1.3 配置docker的镜像源

二、基本功能


2.1 docker search 功能不能使用 需要到镜像站点网页搜索

#网页搜索
https://docker.xuanyuan.me/

#命令行搜索
[root@attack_server_one ~]# docker search  abc123def456.xuanyuan.dev/nginx

 

 

三、docker 安装 codecombat


3.1 查看拉取下来的镜像

[root@attack_server_one ~]# docker images
REPOSITORY                                     TAG       IMAGE ID       CREATED        SIZE
docker.xuanyuan.me/library/nginx               latest    be69f2940aaf   7 weeks ago    192MB
httpd                                          latest    958373fdd7e8   4 months ago   148MB
operepo/ope-codecombat                         latest    9a97c50f288f   8 years ago    1.95GB
docker.xuanyuan.me/operepo/ope-codecombat      latest    9a97c50f288f   8 years ago    1.95GB
swr.cn-east-3.myhuaweicloud.com/pingzhe/dvwa   v1.10     e901498e651a   8 years ago    359MB

3.2 使用镜像创建容器,指定数据保存位置,不能使用80端口

#1.创建数据存放位置
docker volume create mydata 

#2.创建容器
docker run -itd -v  mydata:/home/coco/codecombat/data/  --name codecombat -p 0.0.0.0:3020:3000  --restart always  operepo/ope-codecombat /bin/bash

#3.删除原容器后,数据卷仍存在 
docker volume ls |grep mydata

3.3 可以直接使用supervisord运行程序

root@8752dbcbf601:/# cat /etc/supervisor/conf.d/supervisord.conf
[unix_http_server]
file=/var/run/supervisor.sock

[rpcinterface:supervisor]
supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

[supervisord]
nodaemon=true
loglevel=debug

[supervisorctl]
serverurl=unix:///var/run/supervisor.sock


[program:coco]
user=root
directory=/home/coco
command=/home/coco/start.sh
autostart=true
autorestart=unexpected
user=root
stdout_logfile=/home/coco/codecombat/mongo/coco_stdout
stdout_logfile_maxbytes=50MB
redirect_stderr=true
priority=1000

[program:mongodb]
user=root
directory=/home/coco/codecombat
command=/home/coco/codecombat/bin/coco-mongodb
autostart=true
autorestart=unexpected
user=root
stdout_logfile=/home/coco/codecombat/mongo/mongodb_stdout
stdout_logfile_maxbytes=50MB
redirect_stderr=true
priority=100

3.4 导入数据和运行服务

#1.将数据传输到需要加载的目录
docker cp dump.tar.gz codecombat:/home/coco/codecombat/data/

#2.需要进入到容器中将数据解压
docker exec -it codecombat /bin/bash
tar -zxvf dump.tar.gz

#3.运行系统网页可以访问
supervisord -nc /etc/supervisor/conf.d/supervisord.conf

3.5 修改注册独立账号

3.6 修改注册账号为上帝模式

# 1).进入容器
docker exec -it mycodecombat /bin/bash
# 2).打开数据库
mongo
# 3).使用cocoo数据库
use coco
# 4).将admin账号升级为“上帝模式”,这里abccba为你自己注册时候用的名字
db.users.update({'name':'admin'},{$set:{'earned.gems':9999999,permissions:["godmode","admin"]}},true,false);

3.7 修改注册账号的密码

# 1).进入容器
docker exec -it mycodecombat /bin/bash
# 2).打开数据库
mongo
# 3).使用cocoo数据库
use coco
# 4).查看用户abccba密码
db.users.find({name: 'abccba'}, {name: 1, passwordHash: 1})
# 5).查看用户所有信息
db.users.find({name: 'abccba'})
# 6).修改用户abccba密码
db.users.updateOne({name: 'abccba'}, {$set: {passwordHash: '977aa9a1ce6a580116484f227cca6ded1d82f37987c22121748ff1625640a4623c52e0f420420d15bb89ae680e3f27cb5d7d92d1a2c738fae5d753d66c94c9e8'}})

3.9 查看保存的数据下次重新创建容器可以直接使用该数据

[root@attack_server_one mydata]# pwd
/var/lib/docker/volumes/mydata
[root@attack_server_one mydata]# ls _data/
.db_updated  dump/        dump.tar.gz  users.json
[root@attack_server_one mydata]# ls _data/
dump  dump.tar.gz  users.json

 

四、docker-compose 启动容器koodo-reader


4.1 docker images 查看镜像

[root@attack_server_one ~]# docker images |grep reader
liwangsheng/koodo-reader                       latest    e65a6b7d078a   12 months ago   33.1MB

4.2 编辑docker-compose.yaml 文件

[root@attack_server_one ~]# cat docker-compose.yml

version: '3'
services:
  koodo-reader:
    image: liwangsheng/koodo-reader
    container_name: koodo-reader
    ports:
      - 8860:80
    restart: always

4.3 使用docker-compose启动docker 容器

[root@attack_server_one ~]# docker-compose up -d
Creating network "root_default" with the default driver
Creating koodo-reader ... done

4.4  查看启动的容器

[root@attack_server_one ~]# docker ps
CONTAINER ID   IMAGE                      COMMAND                  CREATED         STATUS          PORTS                                   NAMES
601a09c9c6d3   liwangsheng/koodo-reader   "httpd -f -p 80 -h /…"   6 minutes ago   Up 6 minutes    0.0.0.0:8860->80/tcp, :::8860->80/tcp   koodo-reader

4.5 浏览器访问容器

五、docker 配置代理


5.1 修改docker 启动配置文件

vim /lib/systemd/system/docker.service
[Service]
Environment="HTTP_PROXY=http://127.0.0.1:7890"
Environment="HTTPS_PROXY=http://127.0.0.1:7890"

5.2 重新加载配置文件和重启docker 服务

systemctl daemon-reload
systemctl restart docker

 

posted @ 2025-06-09 20:32  citong  阅读(62)  评论(0)    收藏  举报