栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

docker 安装 ubuntu18.04 使用笔记

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

docker 安装 ubuntu18.04 使用笔记

Ubuntu Docker 使用官方安装脚本自动安装:
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun

—————————————————————————————————————————————

也可以使用国内 daocloud 一键安装命令:
curl -sSL https://get.daocloud.io/docker | sh

—————————————————————————————————————————————

卸载旧版本

Docker 的旧版本被称为 docker,docker.io 或 docker-engine 。如果已安装,请卸载它们:

sudo apt-get remove docker docker-engine docker.io containerd runc

—————————————————————————————————————————————

网上拉取镜像:(第一次安装无本地image)
sudo docker pull ubuntu:18.04

root@ecs-fxbzf:~# sudo docker pull ubuntu:18.04
18.04: Pulling from library/ubuntu
284055322776: Pull complete
Digest: sha256:0fedbd5bd9fb72089c7bbca476949e10593cebed9b1fb9edf5b79dbbacddd7d6
Status: Downloaded newer image for ubuntu:18.04
docker.io/library/ubuntu:18.04

—————————————————————————————————————————————

本地导入镜像:(如果有自己的image)

导入文件:
假设镜像文件【tndl-img:v1.tar】在root/zyklbr/目录需要cd进入当前目录操作 【cd zyklbr】

sudo cat tndl-img:v1.tar | sudo docker import - tndl-img:v1

root@ecs-fxbzf:~# cd zyklbr
root@ecs-fxbzf:~/zyklbr# sudo cat tndl-img:v1.tar | sudo docker import - tndl-img:v1
sha256:f20e182f46196c9914eba2335813b3ac4ea6dcf38d38b1228ee6c8315342f5c6
—————————————————————————————————————————————

查看镜像:
sudo docker images

root@ecs-fxbzf:~/zyklbr# sudo docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
tndl-img v1 f20e182f4619 51 seconds ago 303MB

查看所有容器:
sudo docker ps -a

root@ecs-fxbzf:~/zyklbr# sudo docker ps -a
ConTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES

查看正在运行的容器:
sudo docker ps

root@ecs-fxbzf:~/zyklbr# sudo docker ps
ConTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
—————————————————————————————————————————————

运行镜像转换为容器: 先尝试使用
sudo docker  run  -dit  --name=tndl-con -p 2200:22 -p 80:80 -p 443:443 tndl-img:v1  /bin/bash
如遇到权限不够可使用这条
sudo docker run -dit --privileged=true --name tndl-con -p 2200:22 -p 80:80 -p 443:443 tndl-img:v1 /sbin/init

root@ecs-fxbzf:~/zyklbr# sudo docker run -itd --privileged=true --name tndl-con -p 2200:22 -p 80:80 -p 443:443 tndl-img:v1 /sbin/init
f0265ce7e938ba57640ea0a059c632951526b1d31ced34b6b5a0c017e38066a8

docker宿主机通过top查看进程,发现有agetty进程100%占用CPU资源,这是【–privileged=true /sbin/init】命令导致的,正常开启后,可以停止agetty进程解除cpu的高占用:

在宿主机以及Container中运行下述命令

systemctl stop getty@tty1.service
systemctl mask getty@tty1.service

—————————————————————————————————————————————

查看容器运行情况:
sudo docker ps

root@ecs-fxbzf:~/zyklbr# sudo docker ps
ConTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
f0265ce7e938 tndl-img:v1 “/sbin/init” 4 minutes ago Up 2 minutes 0.0.0.0:80->80/tcp, :::80->80/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp, 0.0.0.0:2200->22/tcp, :::2200->22/tcp tndl-con

—————————————————————————————————————————————

停止容器:
sudo docker stop tndl-con

root@ecs-fxbzf:~/zyklbr# sudo docker stop tndl-con
tndl-con

—————————————————————————————————————————————

重启容器:
sudo docker restart tndl-con

root@ecs-fxbzf:~/zyklbr# sudo docker restart tndl-con
tndl-con

—————————————————————————————————————————————

删除容器(container):
sudo docker rm -f tndl-con

root@ecs-fxbzf:~/zyklbr# sudo docker rm -f tndl-con
tndl-con

—————————————————————————————————————————————

删除镜像(image):
sudo docker rmi tndl-img:v1

root@ecs-fxbzf:~/zyklbr# sudo docker rmi tndl-img:v1
Untagged: tndl-img:v1
Deleted: sha256:f20e182f46196c9914eba2335813b3ac4ea6dcf38d38b1228ee6c8315342f5c6
Deleted: sha256:948b309949ba2f57a5814c3217a49ed4d9fec542fab3b894fda0d5d18a05102c
root@ecs-fxbzf:~/zyklbr#

—————————————————————————————————————————————

进入容器(补充以前的笔记):
sudo docker restart  e4a777571d87
sudo docker attach e4a777571d87

root@pc:/# sudo docker attach e4a777571d87
root@e4a777571d87:/#

退出ubuntu容器(程序也会停止):
exit
sudo docker ps

root@pc:/# sudo docker attach e4a777571d87
root@e4a777571d87:/# exit
exit
root@pc:/# docker ps
ConTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
root@pc:/#

启动的容器exit退出也不会停止程序:
sudo docker restart  e4a777571d87
sudo docker exec -it e4a777571d87 /bin/bash 
exit
sudo docker ps

root@pc:/# sudo docker restart e4a777571d87
e4a777571d87
root@pc:/# sudo docker exec -it e4a777571d87 /bin/bash
root@e4a777571d87:/# exit
exit
root@pc:/#
root@pc:/# sudo docker ps
ConTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
e4a777571d87 4eb “/bin/bash” 38 minutes ago Up about a minute zyklbr
root@pc:/#

保存容器的修改

容器需要运行中,后台运行也可。

docker commit e4a777571d87  demo:v1.1
导出容器镜像:

导出文件:

mkdir zyklbr
cd zyklbr
sudo docker export e4a777571d87 > ubuntu.tar

root@pc:/# mkdir zyklbr
root@pc:/# cd zyklbr
root@pc:/zyklbr# sudo docker export e4a777571d87 > ubuntu.tar
root@pc:/zyklbr# ls
ubuntu.tar
root@pc:/zyklbr#

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/613664.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号