切换 root
sudo -i
安装 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 \
http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
sudo yum install docker-ce docker-ce-cli containerd.io docker-compose-plugin
systemctl start docker
systemctl enable docker.service
systemctl disable docker.service
docker-compose部署
- 下载最新的docker-compose,若是github访问太慢,可以用daocloud下载
sudo curl -L https://get.daocloud.io/docker/compose/releases/download/1.25.1/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
- 添加可执行权限
sudo chmod +x /usr/local/bin/docker-compose
- 测试安装结果
docker-compose --version
docker-compose 离线部署
mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
启动Nexus
docker pull sonatype/nexus3
mkdir -p /docker/nexus/
chmod -R 777 /docker
docker run -d -p 8081:8081 -p 8082:8082 --privileged=true -v /docker/nexus/nexus-data:/nexus-data --name nexus sonatype/nexus3
启动 opengaussdb
docker pull enmotech/opengauss:latest
docker run -d -p 5432:5432 --name opengauss --privileged=true -e GS_PASSWORD=Enmo@123 -v /wuyc/opengauss:/var/lib/opengauss enmotech/opengauss:latest
数据库:postgres 用户:gaussdb 密码:Enmo@123
启动 vagrant
<https://blog.csdn.net/weixin_44449518/article/details/128572769>
启动达梦
docker pull registry.cn-shanghai.aliyuncs.com/techerwang/dbhub:jem_dm8
docker run -d --name jemdm8 -h jemdm8 -p 52360-52364:5236-5240 -p 58080:8080 -p 53389:3389 -v /docker/fs/cgroup:/sys/fs/cgroup --privileged=true my_dameng:jem_dm8 /usr/sbin/init
docker exec -it jemdm8 bash
disql SYSDBA/SYSDBA
desc v$database;
启动redis
version: "3.1"
services:
redis:
image: redis:4
environment:
TZ: Asia/Shanghai
ports:
- 6379:6379
command: ["redis-server","/etc/redis/redis.conf"]
restart: always
volumes:
- ./conf:/etc/redis/
- ./data:/data
-
redis.conf
bind 0.0.0.0 port 6379 tcp-backlog 511 timeout 0 tcp-keepalive 0 #loglevel notice #logfile "/redis/logs/redis.log" databases 16 requirepass liubei@2021
docker 无法联网
vi /etc/sysctl.conf
增加:
et.ipv4.ip_forward=1
systemctl restart network
sysctl net.ipv4.ip_forward
启动minio
version: '3.1'
services:
minio:
image: minio/minio:latest
container_name: minio
ports:
- "8000:9000"
- "8001:9090"
restart: always
command: server /data --console-address ":9090"
environment:
TZ: "Asia/Shanghai"
MINIO_ROOT_USER: minio
MINIO_ROOT_PASSWORD: minio@2023
volumes:
- ./data:/data
- ./config:/root/.minio
报错
时差太大
date -s 'yyyy-MM-dd hh:mm:ss'
----
docker date: cannot set date: Operation not permitted
sudo -> --privileged=true
启动nacos
version: "3.1"
services:
nacos:
image: nacos/nacos-server:v2.0.4
container_name: nacos
environment:
- PREFER_HOST_MODE=hostname
- MODE=standalone
- SPRING_DATASOURCE_PLATFORM=mysql
- MYSQL_SERVICE_HOST=192.168.0.112
- MYSQL_SERVICE_DB_NAME=nacos_config
- MYSQL_SERVICE_PORT=3306
- MYSQL_SERVICE_USER=root
- MYSQL_SERVICE_PASSWORD=root
- MYSQL_DATABASE_NUM=1
volumes:
- ./logs:/home/nacos/logs
- ./init.d/custom.properties:/home/nacos/init.d/custom.properties
- ./data:/home/nacos/data
ports:
- "8848:8848"
- "9848:9848"
- "9849:9849"
restart: always
启动 nginx
mkdir -p /docker/nginx/conf
mkdir -p /docker/nginx/log
mkdir -p /docker/nginx/html
# 生成容器
docker run --name nginx -p 9001:80 -d nginx
# 将容器nginx.conf文件复制到宿主机
docker cp nginx:/etc/nginx/nginx.conf /docker/nginx/conf/nginx.conf
# 将容器conf.d文件夹下内容复制到宿主机
docker cp nginx:/etc/nginx/conf.d /home/docker/conf/conf.d
# 将容器中的html文件夹复制到宿主机
docker cp nginx:/usr/share/nginx/html /docker/nginx/
docker run \
\-p 9002:80 \
\--name nginx \
\-v /home/nginx/conf/nginx.conf:/etc/nginx/nginx.conf \
\-v /home/nginx/conf/conf.d:/etc/nginx/conf.d \
\-v /home/nginx/log:/var/log/nginx \
\-v /home/nginx/html:/usr/share/nginx/html \
\-d nginx:latest
# 解决docker报错Job for docker.service failed because start of the service was attempted too often
cd /etc/docker/
mv daemon.json daemon.conf
docker 操作
一、docker commit (生成) 参考: docker commit
当我在mmdetection3d的容器上修改后,可以通过 docker commit 的方式将容器生成新的镜像(相当于word的 另存为)。
# 重新生成一个镜像(生成过程要出docker):
docker commit id name
# id:做过更改容器的id
# name:随意命名
# 例如: docker commit f828 tom
# 生成完可以运行 docker images 查看
二、docker save(保存) 我们生成了 id=f82,name=tom 的镜像。现在将镜像打包保存。 生成了tar文件,可以发送给别人。
docker save -o 文件名 镜像名
# 例如 docker save -o ~/mydocker.tar tom
# -o是--output的简写。
二、docker load(加载) 当别人拿到了我的mydocker.tar文件时候,可以进行解压,在本地生成docker容器运行我的代码。
docker load -i 文件名 镜像名
# 例如 docker load -i mydocker.tar
# -i 是 --input 的简写
# docker images 就可以查看是否成功啦