Docker基础-常用命令

一、docker服务启动与关闭

  1. docker启动
    systemctl start docker //centos7.*
    service docker start //centos6.*
  2. 重启docker服务
    systemctl restart docker //centos7.*
    sudo service docker restart //centos6.*
  3. 关闭docker
    systemctl stop docker //centos7.*
    service docker stop //centos6.*
  4. 查看是否启动成功
    docker ps -a

远程访问docker配置

vim /lib/systemd/system/docker.service
ExecStart=/usr/bin/dockerd -H tcp://0.0.0.0:2375 -H unix:///var/run/docker.sock
systemctl daemon-reload
systemctl restart docker
测试:
http://ip:2375/images/json

二、docker镜像

docker image -a 列出所有镜像,包含内部镜像
docker image -q只查看id;
docker search -s 30 [imageName] star超过30的;
docker rmi 镜像ID 删除镜像
docker rmi -f 镜像ID 强制删除镜像
docker image rmi -f $(docker images |grep ‘127.0.0.1/antifraud’|awk ‘{print $3}’) 批量删除指定前缀的镜像

三、docker容器启动

1.后台启动:docker run -d 镜像名
2.交互式启动:docker run -it --name 别名 镜像名
如果加上 -rm 当容器停止,会自动删除该容器;
3. 其他参数

  • -v 挂载数据文件 ,使用:-v 宿主机的绝对路径:容器内的路径
  • -p 指定端口,使用:-p 容器端口:宿主机端口

挂载数据文件的其他姿势

docker run -it -v 宿主机的绝对路径:容器内的路径 镜像名
docker run -d -v 宿主机的绝对路径:容器内的路径 镜像名
docker run -it -v 宿主机的绝对路径:容器内的路径:ro 镜像名 该挂载文件夹只读;
容器数据卷继承:–volume-from
容器数据卷之间配置信息可以传递,数据卷的生命周期一直持续到没有容器使用它为止;
–privileged=true

四、 退出与进入容器

1.退出容器
  • exit停止容器退出
  • Ctrl+P+Q直接退出
2.进入容器
  • docker exec -it 775c7c9ee1e1 /bin/bash
  • docker attach 容器ID

五、dockerfile编写

步骤

  1. 创建dockerfile文件
  2. docker build -f 【dockerfile地址】-t 镜像名] [镜像地址]
  • 例:docker build -f /test/Dockerfile -t /test/myImage .
  • 保留字指令必须大写;
  • #代表注释
  • 每条指令都会创建一个新的镜像层,并对镜像进行提交;
保留字指令:

FROM:指定基础镜像
MAINTAINER:作者,邮箱信息
RUN:容器构建时需要运行的命令
EXPOSE:暴露的端口
WORKDIR:工作后登陆的目录(落脚点)
ENV:设置环境变量
ADD:解压缩和拷贝
COPY:copy a b
VOLUME:容器数据卷,用于保存数据和持久化工作;
CMD:指定容器启动时运行的命令,这里如果有多个,只有最后一个会生效;
ENTRYPOINT:指定容器启动时运行的命令,这里如果有多个会进行追加;还有一个好处是在容器外也可以进行追加;
ONBUILD:父类中的触发器,这里子类继承了父类镜像后,在子类镜像build的时候,父类镜像中的onbuild就会被触发;

在这里插入图片描述

maven项目用IDE打包镜像

maven打包docker镜像项目部署

### Docker Compose 常用命令及使用方法 以下是 `docker-compose` 的一些常用命令及其具体用法: #### 1. 启动服务 通过指定的 `docker-compose.yml` 文件启动定义的服务并以后台模式运行。 ```bash docker-compose up -d ``` 此命令会读取当前目录下的 `docker-compose.yml` 文件,并按照其中的配置创建和启动容器[^1]。 #### 2. 查看正在运行的服务状态 查看由 `docker-compose` 创建的所有服务的状态。 ```bash docker-compose ps ``` #### 3. 停止服务 停止所有已启动的服务。 ```bash docker-compose stop ``` 这不会删除容器,仅暂停其运行[^1]。 #### 4. 删除服务 完全移除由 `docker-compose` 创建的容器。 ```bash docker-compose down ``` 此操作不仅会停止容器还会清理它们以及网络资源[^1]。 #### 5. 构建镜像 构建者重新构建服务中的镜像。 ```bash docker-compose build ``` 当需要更新自定义镜像时可以使用这个命令[^1]。 #### 6. 执行一次性命令 在一个服务内执行特定的一次性命令而不影响其他部分正常运作。 例如,在名为 web 的服务里打开 bash 终端: ```bash docker-compose run web bash ``` 又比如链接数据库容器来访问 PostgreSQL 数据库实例: ```bash docker-compose run db psql -h db -U docker ``` 这里展示了如何利用 compose 配置好的环境变量连接参数简化复杂的手工设置过程[^3]。 #### 7. 日志管理 显示某个服务的日志输出。 ```bash docker-compose logs [SERVICE_NAME] ``` 这对于调试非常重要,因为它允许开发者实时监控应用程序的行为表现。 #### 8. 列出所有的挂载卷 展示项目所使用的数据卷列表。 ```bash docker volume ls --filter label=com.docker.compose.project=your_project_name ``` 注意替换 your_project_name 成实际项目的名称。 以上就是关于 `docker-compose` 工具的一些基础但实用的功能介绍。它极大地提高了开发人员工作效率的同时还保持了一致性和可重复部署的能力。 ```python # 示例 Python 脚本用于自动化某些任务 (非必要内容) import subprocess def start_services(): result = subprocess.run(['docker-compose', 'up', '-d'], capture_output=True, text=True) print(result.stdout) if __name__ == "__main__": start_services() ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值