在Ubuntu 18.04上安装Docker
运行这个命令在你的Ubuntu系统上成为root。
sudo su
然后运行uname -a来检查当前运行的Linux内核的版本。
uname -a
检查Ubuntu内核版本
cat /etc/lsb-release
在安装新软件之前更新Ubuntu
sudo apt-get update
sudo apt-get upgrade
从Ubuntu存储库安装Docker
如果您想从Ubuntu存储库安装docker版本,则可以运行下面的apt命令。
sudo apt install docker.io
启动Docker并使用systemctl命令将其添加到引导时间
systemctl start docker
systemctl enable docker
检查码头版本
docker --version
将Docker作为非root用户运行
添加’shen’用户。
useradd -m -s /bin/bash shen
密码
passwd shen
为’码头’组添加’shen’用途。
usermod -aG docker shen
现在以“shen”用户身份登录并运行docker命令。
su - shen
docker run hello-world
Docker 基本用法
docker search ubuntu
这个命令会显示所有的Ubuntu镜像
搜索Docker窗图像
基本映像下载到我们的服务器上
docker pull ubuntu
docker pull image-name命令将从docker registry / DockerHub下载映像到您的服务器
拉Docker镜图像
现在您可以使用以下命令查看所有下载的图像:
docker images
列出Docker窗图像
Ubuntu镜像从DockerHub / Docker Registry下载。 下一步是从该映像创建一个容器。
要创建容器,可以使用docker create或docker run。
docker create ubuntu:18.04
创建码头容器
码头创建命令将创建一个新的容器,但不启动它。 所以现在你可以使用运行命令:
docker run -i -t ubuntu:18.04 /bin/bash
这个命令将创建并运行一个基于Ubuntu 18.04映像的容器,并在容器中运行一个命令/ bin / bash,运行该命令后您将自动进入容器。
运行码头容器
当您使用命令出口离开容器时,容器将停止。 如果您希望有一个在后台运行的容器,则只需在命令中添加-d选项。
docker run -i -t -d ubuntu:18.04 /bin/sh -c "while true; do echo hello world; sleep 1; done"
注意:
/ bin / sh -c“while true; do echo hello world; sleep 1; done”这是bash脚本永远回显“hello word”。
Docker容器成功运行
现在,您可以使用以下命令看到在后台运行的容器:
docker ps
或者如果要查看该bash命令的日志结果,则可以使用以下命令:
docker logs ContainerID
如何访问在后台模式下运行的容器的外壳?
该命令会将您连接到容器的外壳:
docker exec -i -t ContainerID /bin/bash
输入正在运行的Docker容器。
您可以看到主机名和容器ID相同,这意味着您位于容器外壳的内部。 当你在那个shell上键入exit
时,你将离开那个shell,但容器仍在运行。
在不删除容器的情况下停止容器
docker stop ContainerID
重新启动容器
docker start ContainerID
移除容器,请先将其停止,然后使用以下命令将其移除
docker rm ContainerID
基于alpine用dockerfile创建的nginx镜像
下载alpine镜像
docker pull alpine
查看所有镜像
docker images
编写dockerfile
FROM alpine
WORKDIR /app
COPY ./requirements.txt /app/
RUN sed -i 's/dl-cdn.alpinelinux.org/mirrors.aliyun.com/g' /etc/apk/repositories &&\
apk update && \
apk add python3 python3-dev py3-pip uwsgi-python3 gcc tzdata && \
apk add libffi-dev openssl-dev uwsgi freetype freetype-dev&& \
apk add musl musl-dev libjpeg jpeg-dev zlib-dev && \
apk add linux-headers g++ libstdc++ git&& \
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
echo "Asia/Shanghai" > /etc/timezone && \
pip3 install --extra-index-url http://192.168.199.233/ --trusted-host 192.168.199.233 -r ./requirements.txt && \
apk del gcc g++ tzdata linux-headers git musl-dev && \
apk del freetype-dev openssl-dev && \
rm ./* && \
rm -rf ~/.cache/pip && \
rm -rf /var/cache/apk/*