guopengfa
发布于 2021-06-08 / 648 阅读 / 0 评论 / 0 点赞

docker学习笔记

拉取镜像

docker pull centos:8

创建容器

docker run -d centos:8 /usr/sbin/init

查看运行中的容器

docker ps

令容器打印命令/执行命令

docker exec 42c943bb519d echo 'hello world'

现在创建一个容器,名为 java_ssh_proto,用于配置一个包含 Java 和 SSH 的环境:

docker run -d --name=java_ssh_proto --privileged centos:8 /usr/sbin/init

进入容器

docker exec -it java_ssh_proto bash

退出容器

exit

停止容器

docker stop java_ssh_proto

保存镜像

docker commit java_ssh_proto java_ssh

本地向容器hadoop_single放置文件

docker cp <你存放hadoop压缩包的路径> hadoop_single:/root/
# hadoop_single为容器名称

后台运行容器

docker run -itd --name ubuntu-test ubuntu /bin/bash
# 意思为后台运行ubuntu-test这个容器

映射容器内的端口

docker run -d -p 5000:5000 training/webapp python app.py
# 意思为容器training/webapp运行python文件app.py并且把容器内的5000端口映射到外网的5000端口 内部的5000端口->本机的5000端口

容器配置自启动

# 开启容器自启动
docker update --restart=always 【容器名】
例如:docker update --restart=always tracker


# 关闭容器自启动
docker update --restart=no【容器名】
例如:docker update --restart=no tracker

##### 相关配置解析
no:
    不要自动重启容器。(默认)

on-failure: 
    如果容器由于错误而退出,则重新启动容器,该错误表现为非零退出代码。

always:
    如果容器停止,请务必重启容器。如果手动停止,则仅在Docker守护程序重新启动或手动重新启动容器本身时才重新启动。(参见重启政策详情中列出的第二个项目)

unless-stopped:
    类似于always,除了当容器停止(手动或其他方式)时,即使在Docker守护程序重新启动后也不会重新启动容器。

启动已终止的容器

docker start 【容器名称】

评论