一小时做网站,网上免费设计效果图,汕头模版网站建设,sina app engine wordpress目录 1、安装docker 2、docker使用相关命令 具体说明如下#xff1a;具体使用命令的时候最好切号为管理员root权限 使用su命令切号 1、安装docker
docker下载地址#xff1a;
Index of /
Docker Docs
docker-compose和docker版本对应关系如下#xff1a;
Compose file … 目录 1、安装docker 2、docker使用相关命令 具体说明如下具体使用命令的时候最好切号为管理员root权限 使用su命令切号 1、安装docker
docker下载地址
Index of /
Docker Docs
docker-compose和docker版本对应关系如下
Compose file version 3 reference | Docker Docs
docker-compose 下载地址
https://github.com/docker/compose/releases
由于安装docker的系统各不相同具体可以查看需要安装docker的CPU架构和位数然后进行安装。
查看系统的架构/版本
cat /etc/kylin-release
uname -p
lscup
以上安装好docker后下面安装docker-compose部分是可选的使用docker-compose对于多服务启动可能会更方便一些。
下载docker-compose文件根据需要下载对应的版本
https://github.com/docker/compose/releases 接下来安装下载好的docker-compose把下载好的文件放到服务器上
# 在包含docker-compose-linux-x86_64文件夹下
mv docker-compose-linux-x86_64 /usr/local/bin/docker-compose
# cp docker-compose-linux-x86_64 /usr/local/bin/docker-compose
# 授权这个文件
chmod 777 /usr/local/bin/docker-compose
# 当然也是可以直接授予可执行权限
chmod x /usr/local/bin/docker-compose
# 最后查看是否安装成功
docker-compose --version
可选【创建软连接】
# 其中这个位置 /usr/software 根据服务器上软件存放位置
ln -s /usr/local/bin/docker-compose /usr/software
2、主机docker使用相关命令
查看docker的启动状态
systemctl status docker
启动docker
systemctl start docker
重载docker
systemctl daemon-reload
重启docker
systemctl restart docker
开机自启docker
systemctl enable docker
查看docker镜像
docker images
查看docker进程
docker ps 查看所有容器包括停止的
docker ps -a
设置docker的TAG
# 以JDK举例
docker tag jdk:latest jdk:1.8
删除docker中没有版本的容器镜像
# -f 为强制删除
docker rmi -f 容器镜像ID或者容器名称
停止正在运行的容器
docker stop 容器进程IDdocker ps列表中的ID
启动已停止的容器
docker start 容器IDcontainer_id
进入容器
docker exec -it 容器IDcontainer_id/bin/bash
若是容器正在运行则最好是先停止再删除
构建docker镜像docker build -t 容器名:版本号 .
# 以java后端服务举例 docker build -t 容器名:版本号 .
docker build -t java-server:1.0 .注意在构建镜像之前需要编辑好dockerfile文件下面为样例文件
# 基础镜像(镜像名:版本号TAG)
FROM jdk:1.8
# 作者author
MAINTAINER xjs# 挂载目录
VOLUME /home/soft/app
# 创建目录
RUN mkdir -p /home/soft/app
# 指定路径
WORKDIR /home/soft/app
# 复制jar文件到路径{注意:文件中的前面的内容都是容器外的 后面的内容为容器内的}
COPY ./jar/java-server.jar /home/soft/app/java-server.jar
COPY ./jar/config /home/soft/app/config# 启动java后端服务下面为java启动参数配置
# ENTRYPOINT [java,-jar,java-server.jar]
ENV JAVA_OPTS\
-server \
-XX:PrintFlagsFinal \
-Xmn1024M \
-Xms2048M \
-Xmx2048M \
-XX:PrintGCDetails \
-XX:PrintTenuringDistribution \
-XX:PrintGCTimeStamps \
-XX:HeapDumpOnOutOfMemoryError \
-XX:HeapDumpPath/home/soft/logs/java-server/java-server-hpdump.hprof \
-XX:UseGCLogFileRotation \
-XX:NumberOfGCLogFiles5 \
-XX:GCLogFileSize20M \
-XX:UseConcMarkSweepGC \
-Xloggc:/home/soft/logs/java-server/auth.log# 指定容器内端口
# EXPOSE 8088
# 启动命令
# ENTRYPOINT java ${JAVA_OPTS} -jar java-server.jar
CMD [java, ${JAVA_OPTS}, -jar, java-server.jar]其中上面的JAVA_OPTS部分可以不需要 具体以项目看
运行docker编译好的镜像可以通docker images查看编译好的镜像其中后面端口是容器内的
docker run -it --restartalways -p 8088:8088 myserverapp:1.0#--restartalways: 设置容器在任何情况下都自动重启。如果发生意外情况导致容器停止运行Docker会尝试自动重新启动容器。-it: 创建一个交互式的终端会话并将其连接到容器。
把docker服务打包
docker save -o java-server-1.0.tar.gz java-server:1.0
加载打包的docker服务包
docker load -i java-server-1.0.tar.gz
其他命令
搜索镜像
docker search nginx
拉取镜像
docker pull nginx推送镜像
docker push nginx:1.18日志和调试相关命令
查看容器日志docker logs 容器ID(container_id)
实时跟踪容器日志docker logs -f 容器ID(container_id)
导出容器日志到文件docker logs 容器ID(container_id) logs.txt
查看容器内进程信息docker top 容器ID(container_id)
在容器内运行命令docker exec -it 容器ID(container_id) command_name
网络相关命令 列出网络docker network ls
创建网络docker network create network_name
连接容器到网络docker network connect network_name 容器ID(container_id)
断开容器与网络的连接docker network disconnect network_name 容器ID(container_id)
使用Docker-compose
在使用docker-compose的时候需要编辑好 docker-compose.yml 文件下面为样例文件
version : 3.8
services:# mysql数据库mysql:container_name: mysqlimage: mysql:8ports:- 3306:3306volumes:- /home/soft/mysql/conf/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf- /home/soft/mysql/logs:/logs- /home/soft/mysql/data:/var/lib/mysqlprivileged: truecommand: [mysqld,--innodb-buffer-pool-size80M,--character-set-serverutf8mb4,--collation-serverutf8mb4_unicode_ci,--default-time-zone8:00,--lower-case-table-names1]environment:MYSQL_ROOT_PASSWORD: 123456restart: always# postgres数据库postgres:container_name: postgresimage: postgis:14ports:- 5432:5432volumes:- /home/soft/postgresql/data:/var/lib/postgresql/dataenvironment:POSTGRES_PASSWORD: postgresprivileged: truerestart: always# redis缓存库redis:container_name: redisimage: redis:6.0.8ports:- 6379:6379volumes:- /home/soft/redis/conf/redis.conf:/etc/redis/redis.conf- /home/soft/redis/data:/datacommand: redis-server /etc/redis/redis.confprivileged: truerestart: always# nginx前端服务nginx:container_name: nginximage: nginx:1.18ports:- 80:80volumes:- /home/soft/nginx/html:/usr/share/nginx/html- /home/soft/nginx/conf/nginx.conf:/etc/nginx/nginx.conf- /home/soft/nginx/logs:/var/log/nginxrestart: always# 项目JAR包位置java-server:container_name: java-serverbuild:#dockerfile文件的位置/jarcontext: ./jardockerfile: dockerfile#前面是容器外端口:日期内端口ports:- 8088:8088depends_on:- redis- postgresvolumes:- /home/soft/logs:/home/soft/logs- /home/soft/nginx/html:/home/soft/nginx/htmlprivileged: truerestart: always
具体可以根据实际项目情况修改即可
有了docker-compose和配置好的docker-compose.yml文件就可以运行相关容器了。
启动服务
docker-compose up -d
# 当然也可以是
docker-compose up -d 服务名
查看启动的服务 docker ps/images
查看服务启动的日志(以java-server举例)
docker-compose logs -f java-server停止具体的服务(以java-server举例)
docker-compose down java-server重启具体的服务(以java-server举例)
docker-compose restart java-server# 删除服务
docker rm -f java-server
# 删除镜像
docker rmi 文件夹名-服务名
docker rmi myserverapp_src-java-server
# 重新运行服务
docker-compose up -d java-server
# 启动服务
docker-compose up
# 后台启动服务
docker-compose up -d
# 构建服务
docker-compose build
# 停止服务
docker-compose down
# 查看服务日志
docker-compose logs
# 列出所有服务容器
docker-compose ps
# 执行命令到服务容器
docker-compose exec service command
# 查看服务状态
docker-compose ps
# 重启服务
docker-compose restart
# 构建服务但不启动
docker-compose build --no-start
# 确保你的当前目录中有一个有效的docker-compose.yml文件或者你可以通过--file选项指定其他文件。
# 例如如果你有一个docker-compose.prod.yml文件你可以这样运行
docker-compose -f docker-compose.prod.yml up -d以上就是Docker Compose的一些基本使用方法。