docker安装服务


docker安装服务

设置yum源

sudo sed -e 's|^mirrorlist=|#mirrorlist=|g' \
         -e 's|^#baseurl=http://mirror.centos.org|baseurl=https://mirrors.tuna.tsinghua.edu.cn|g' \
         -i.bak \
         /etc/yum.repos.d/CentOS-*.repo
         
 sudo yum makecache        
 
 #上传,下载工具
 yum -y install lrzsz
 #上传  rz  下载 sz

centos7安装docker

#卸载系统之前的docker 
sudo yum remove docker \
                  docker-client \
                  docker-client-latest \
                  docker-common \
                  docker-latest \
                  docker-latest-logrotate \
                  docker-logrotate \
                  docker-engine
                  
#安装工具                  
sudo yum install -y yum-utils

# 配置镜像
sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo
# 安装    
sudo yum install -y docker-ce docker-ce-cli containerd.io

#启动
sudo systemctl start docker

# 设置开机自启动
sudo systemctl enable docker

docker -v
sudo docker images

# 配置(阿里云)镜像加速
sudo mkdir -p /etc/docker

sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["https://pacmlq67.mirror.aliyuncs.com"]
}
EOF


#修改docker 支持远程访问
vim /lib/systemd/system/docker.service

#修改这一行
ExecStart=/usr/bin/dockerd  -H tcp://0.0.0.0:2375 -H fd:// --containerd=/run/containerd/containerd.sock 

#重启
sudo systemctl daemon-reload && sudo systemctl restart docker


docker安装mysql

#拉取镜像
sudo docker pull mysql:5.7

# --name指定容器名字 -v目录挂载 -p指定端口映射  -e设置mysql参数 -d后台运行
sudo docker run -p 3306:3306 --name mysql \
-v /mydata/mysql/log:/var/log/mysql \
-v /mydata/mysql/data:/var/lib/mysql \
-v /mydata/mysql/conf:/etc/mysql \
-e MYSQL_ROOT_PASSWORD=123456 \
-d mysql:5.7

docker exec -it mysql bin/bash
exit

因为有目录映射,所以我们可以直接在镜像外执行
vi /mydata/mysql/conf/my.conf 

[client]
default-character-set=utf8
[mysql]
default-character-set=utf8
[mysqld]
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
skip-name-resolve

docker restart mysql

docker安装redis

# 在虚拟机中
mkdir -p /mydata/redis/conf
touch /mydata/redis/conf/redis.conf

docker pull redis

docker run -p 6379:6379 --name redis \
-v /mydata/redis/data:/data \
-v /mydata/redis/conf/redis.conf:/etc/redis/redis.conf \
-d redis redis-server /etc/redis/redis.conf

# 直接进去redis客户端。
docker exec -it redis redis-cli

#配置持久化
vim /mydata/redis/conf/redis.conf
# 插入下面内容
appendonly yes
保存

docker restart redis
#配置开机自启
docker update redis --restart=always

docker安装可视化prtainer

docker pull portainer/portainer

docker run -d -p 9000:9000 --restart=always -v /var/run/docker.sock:/var/run/docker.sock --name prtainer  portainer/portainer

#访问
http://ip:9000/

docker安装go-fastdfs

#拉取镜像
docker pull sjqzhang/go-fastdfs:latest

#创建保存目录
mkdir data
mkdir fastdfs_data

#运行
docker run --name go-fastdfs --privileged=true -t -p 9090:8080 -v /data/fastdfs_data:/data -e GO_FASTDFS_DIR=/data sjqzhang/go-fastdfs

#访问
http://ip:9090/
go-fastdfs的目录结构一般是:

├── conf
│   └── cfg.json
├── data
│   ├── 20200102
│   ├── fileserver.db
│   ├── log.db
│   └── stat.json
├── files
│   ├── _big
│   └── default
├── fileserver
├── log
│   ├── access.log
│   ├── fileserver.log
│   └── tusd.log
└── static
    └── uppy.html

go-fastdfs-web可视化界面

#下载镜像文件
docker pull perfree/fastdfsweb

#运行容器
docker run --name fastdfsweb -d -p 8088:8088 perfree/fastdfsweb

#测试是否正常访问
http://本地ip:8088 

#配置go-fastdfs-web
集群名称:随意填写
组:对应本地映射中文件夹conf/cfg.json 文件内容中的group
访问地址:http://本地ip:8080

docker安装RocketMQ

#查找镜像
docker search rocketmq

#下载并且启动NameServer
docker run -d -p 9876:9876 --name rmqserver  foxiswho/rocketmq:server-4.5.1

#启动broker    Broker容器中默认的配置文件的路径为:/etc/rocketmq/broker.conf
docker run -d -p 10911:10911 -p 10909:10909\
 --name rmqbroker --link rmqserver:namesrv\
 -e "NAMESRV_ADDR=namesrv:9876" -e "JAVA_OPTS=-Duser.home=/opt"\
 -e "JAVA_OPT_EXT=-server -Xms128m -Xmx128m"\
 -v /conf/broker.conf:/etc/rocketmq/broker.conf \
 foxiswho/rocketmq:broker-4.5.1
 
#下载并且启动 rocketmq console
docker run -d --name rmqconsole -p 8180:8080 --link rmqserver:namesrv\
 -e "JAVA_OPTS=-Drocketmq.namesrv.addr=namesrv:9876\
 -Dcom.rocketmq.sendMessageWithVIPChannel=false"\
 -t styletang/rocketmq-console-ng
 
 #命令检查一下启动情况
docker ps|grep rocketmq

#通过浏览器访问console页面
ip:8180/

常用指令

#查看运行容器的宿主机进程
ps aux|grep sleep|grep -v grep

#进入容器内部
docker exec -it 容器id /bin/sh
#查看容器日志
docker logs -f 容器id

#容器内安装软件
yum/apt-get/apt 

#查看docker端口情况
netstat -luntp

文章作者: wmg
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 wmg !
  目录