杭州企业网站设计,天津建立网站营销设计,哪些网站是做数据分析的,个人手机网站建设文章目录 概要 一、安装Docker CE1.1.配置阿里云镜像加速【可选】1.2.重启 二、Docker版本选择三、Docker指令1.Docker命令1.1.run1.2.start/stop/restart1.3.kill1.4.rm1.5.create1.6.ps1.7.exec1.8.top1.9.port 2.Dockerfile命令3.镜像打包3.镜像运行4.镜像导入导出5.镜像查看… 文章目录 概要 一、安装Docker CE1.1.配置阿里云镜像加速【可选】1.2.重启 二、Docker版本选择三、Docker指令1.Docker命令1.1.run1.2.start/stop/restart1.3.kill1.4.rm1.5.create1.6.ps1.7.exec1.8.top1.9.port 2.Dockerfile命令3.镜像打包3.镜像运行4.镜像导入导出5.镜像查看 四、创建Ubuntu Docker镜像五、创建空白的Docker镜像 概要
docker这是一个由德克萨斯大学的奥斯汀分校维护的docker snap版。snap是一种跨多种Linux发行版的新型软件打包格式方便更新和隔离docker就是基于这个格式的Docker社区版的封装。然而它可能并不包含所有的Docker特性并且可能存在一些配置差异例如网络配置等。
podman-dockerPodman是一种无需daemon即守护进程环境就可以运行的下一代Linux容器工具。它的使用感觉就像Docker但实际上并没有运行在后台的守护进程。除此以外它的命令行调用和docker是向后兼容的可以很容易转换过来。
docker.io这个是Ubuntu官方维护的docker版本存在于Ubuntu的官方库中使用 sudo apt install docker.io 命令可以方便简洁地获取。但是由于它往往落后于最新版Docker可能缺少最新的一些功能。
docker-ce这是Docker社区版(Community Edition)。含有了Docker引擎用于创建和管理Docker镜像和容器以及 Docker 命令行界面 (CLI) 客户端。适合在笔记本、桌面和开发团队使用提供频繁的更新和新特性。
一、安装Docker CE
wsl上面不能用这个方式安装它不支持docker守护进程请参考这个文章 wsl安装docker-ce sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository deb [archamd64] https://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable
sudo apt-get update
sudo apt-get install docker-ce
sudo docker run hello-world1.1.配置阿里云镜像加速【可选】
/etc/docker/daemon.json不存在就创建这个文件
{registry-mirrors: [https://你的专属加速器地址.mirror.aliyuncs.com]
}1.2.重启
sudo systemctl daemon-reload
sudo systemctl restart docker二、Docker版本选择
推荐docker-ce功能多一些
三、Docker指令
1.Docker命令
1.1.run
# 使用docker镜像nginx:latest以后台模式启动一个容器,并将容器命名为mynginx。
docker run --name mynginx -d nginx:latest
# 使用镜像 nginx:latest以后台模式启动一个容器,将容器的 80 端口映射到主机的 80 端口,主机的目录 /data 映射到容器的 /data。
docker run -p 80:80 -v /data:/data -d nginx:latest
# 使用镜像nginx:latest以交互模式启动一个容器,在容器内执行/bin/bash命令。
docker run -it nginx:latest /bin/bash 1.2.start/stop/restart
# 启动已被停止的容器mynginx
docker start mynginx
# 停止运行中的容器mynginx
docker stop mynginx
# 重启容器mynginx
docker restart mynginx 1.3.kill
# 根据容器名字杀掉容器
docker kill tomcat7
# 根据容器ID杀掉容器
docker kill 65d4a94f7a391.4.rm
# 强制删除容器 db01、db02
docker rm -f db01 db02 # 删除容器 nginx01, 并删除容器挂载的数据卷
docker rm -v nginx01 # 删除所有已经停止的容器
docker rm $(docker ps -a -q)1.5.create
# 使用docker镜像nginx:latest创建一个容器,并将容器命名为mynginx 不启动它
docker create --name mynginx nginx:latest 1.6.ps
# 列出所有在运行的容器信息。
docker ps # 列出最近创建的5个容器信息。
docker ps -n 5 # 列出所有创建的容器ID。
docker ps -a -q 1.7.exec
-d 后台运行
# 在容器 mynginx 中以交互模式执行容器内 /root/nginx.sh 脚本
docker exec -it mynginx /bin/sh /root/nginx.sh # 在容器 mynginx 中开启一个交互模式的终端
docker exec -i -t mynginx /bin/bash # 也可以通过 docker ps -a 命令查看已经在运行的容器然后使用容器 ID 进入容器。
docker ps -a
docker exec -it 9df70f9a0714 /bin/bash1.8.top
# 查看容器mymysql的进程信息。
docker top mymysql # 查看所有运行容器的进程信息。
for i in docker ps |grep Up|awk {print $1};do echo \ docker top $i; done 1.9.port
# 查看容器mynginx的端口映射情况。
docker port mymysql 2.Dockerfile命令 FROM指定基础镜像 COPY将宿主机文件或目录复制到镜像中注意这里的第一个参数根目录在Dockerfile所在目录不是在宿主机的根目录下 WORKDIR 切换当前工作目录 CMD容器创建或启动时的默认命令 ENV: 设置环境变量 key value ENV: 设置环境变量 key1value1 key2value2 … # 基于空白镜像
FROM scratch
# 先把系统的文件拷贝到Dockerfile所在目录因为COPY命令是以当前路径为根目录拷贝可执行文件和库
COPY /bin/echo /bin/echo
# 拷贝可执行文件依赖库通过执行 ldd /bin/echo 查看依赖
COPY /lib64/libc.so.6 /lib64/libc.so.6
COPY /lib64/ld-linux-x86-64.so.2 /lib64/ld-linux-x86-64.so.2
# 设置当前工作目录
WORKDIR /
# 容器创建时执行指令
CMD [/bin/echo, hello docker]3.镜像打包
name:tag tag可以不要
# docker build -t name:tag Dockerfile目录
docker build -t mynginx:1.0 .3.镜像运行
docker run -it mynginx:1.04.镜像导入导出
# 导出
docker save -o mynginx.tar mynginx:1.0
# 导入
docker load --input mynginx.tar5.镜像查看
docker images [-a]
# 列出本地镜像中REPOSITORY为ubuntu的镜像列表
docker images ubuntu四、创建Ubuntu Docker镜像
FROM ubuntu:latest
RUN apt update apt install -y python3
CMD [python3]五、创建空白的Docker镜像
FROM scratch