Advertisement

ubuntu下docker安装与命令

阅读量:

一、安装

1、查看内核uname -r
2、更新包sudo apt-get update
3、没有docker旧版本,忽略这一步。如果有则需要卸载旧的版本,主要为了防止新旧版本冲突
sudo apt-get remove docker docker-engine docker.io
4、为了防止 apt 源使用 HTTPS 以确保软件下载过程中不被篡改。我们需要添加使用 HTTPS 传输的软件包及 CA 证书
sudo apt-get install apt-transport-https ca-certificates curl gnupg lsb-release
5、确认下载软件包的合法性,需要添加软件源的 GPG 密钥,但因网络问题设置docker源改为国内源(阿里)
curl -fsSL https://mirrors.aliyun.com/docker-ce/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
6、向 source.list 中添加 Docker CE 软件源
sudo add-apt-repository "deb [arch=armhf] https://mirrors.ustc.edu.cn/docker-ce/linux/raspbian $(lsb_release -cs) stable"
7、安装sudo apt-get install docker-ce
补充:官方一键安装有两种方式,第一种方式使用外网圆,所以比较慢,建议使用第二种方式安装
1、curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
2、curl -sSL https://get.daocloud.io/docker | sh

二、配置环境

  • 服务配置
    1、建立 docker 用户组sudo groupadd docker
    2、将当前用户加入 docker 组sudo usermod -aG docker $USER
    3、刷新成员。sudo newgrp - dockersudo newgrp

  • 设置国内镜像源

复制代码
    vim /etc/docker/daemon.json
    
    
    python
    
    
复制代码
    {
    “registry-mirrors”: [
    “https://fy9iz0e2.mirror.aliyuncs.com”,
    “https://registry.docker-cn.com”,
    “http://hub-mirror.c.163.com”,
    “https://docker.mirrors.ustc.edu.cn”
    ]
    }
    
    
    python
    
    
  • 设置服务自启动
复制代码
    sudo systemctl enable docker.service
    sudo systemctl start docker.service
    
    
    python
    
    
  • 重启并查看

docker -vsudo docker run hello-world

三、命令

1、镜像操作

  • docker search dname
    远程仓库docker hub搜索镜像。假设镜像名字为dname

  • docker pull dname
    远程仓库拉取(下载)镜像,默认下载最新版本。假设镜像名字为dname。如需指定版本3.2.1,则在镜像名dname后加上‘:3.2.1’

  • docker images
    列出已下载的镜像

  • docker rmi dname
    删除本地镜像。假设镜像名字为dname

2、容器操作(-v 配置本地挂载目录 本地-远端)

  • docker ps
    列出中的容器,status指标为up时表示已启动

  • docker stop cname
    停止容器。假设容器名字为cname

  • docker kill cname
    强制停止容器。假设容器名字为cname

  • docker start cname
    开启已停止的容器。假设容器名字为cname

  • docker run --privileged=true -d -p 91:80 nginx /usr/sbin/init 或 docker run --privileged=true --name mynginx -d -p 91:80 nginx /usr/sbin/init
    新建并启动容器(包含下载镜像的操作)。假设容器名字为nginx,后可接多个参数,如:–name 重命名容器名称; -d 后台; -p 端口映射;

  • docker inspect cname
    查看容器的详细信息。假设容器名字为cname

  • docker inspect cname:tag | grep -i version
    查看容器应用的各镜像版本信息。假设容器名字为cname,版本标签为tag(选填)

  • docker container logs cname
    查看容器日志,一次性。假设容器名字为cname

  • docker logs -f cname
    监听容器日志,持久性,如果不手动关闭的话(ctrl+c)。假设容器名字为cname

  • docker top cname
    查看容器的进程。假设容器名字为cname

  • docker exec -it cname /bin/bash
    进入容器。假设容器名字为cname

  • docker rm cname
    删除容器,默认删除已停止的容器,如需删除正在的容器,可使用-f参数。假设容器名字为cname

  • docker volume create|rm|ls|inspect vname
    创建|删除|罗列|查询数据卷。假设数据卷名字为vname

3、自制镜像。以nginx为例

3.1、mkdir /home/custom

3.2、cd /home/custom

3.3、vim Dockerfile

复制代码
    FROM nginx
    RUN echo '<h1>CUSTOM NGINX</h1>'>/usr/share/nginx/html/index.html
    
    
    python
    
    

3.4、docker build -t myimage .

docker build -f ./Dockerfile -t myimage:1.0 .
cname 表示镜像名字; -t 指定镜像名字; . 表示Dockerfile文件所在路径

3.5、docker run -d -p 92:80 cname

docker run -d -p 92:80 -p 93:81 --name cname --network mynetwork -v x:y myimage:1.0
cname 表示镜像名字;

4、docker保存

全部评论 (0)

还没有任何评论哟~