docker安装指导

需求:为了开放设备给客户使用,在设备里面创建docker镜像ubuntu,客户程序跑在ubuntu里面。

一、docker安装

1.先将docker安装包(docker-26.1.4.tgz)拷贝到DM系统中。

2.解压docker安装包
tar zxf docker-26.1.4.tgz

3.将docker可执行程序拷贝到/usr/bin/下面
cp docker/* /usr/bin/ 

4.启动docker守护进程
dockerd &

5.验证docker守护进程启动成功
docker info

================================================================================================================
docker守护进程未启动是下面这种情况

root@topeet:~$ docker info
Client:
 Version:    26.1.4
 Context:    default
 Debug Mode: false

Server:
ERROR: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?
errors pretty printing info
------------------------------------------------------------------------------------------------------------------
docker守护进程已启动是下面这种情况
Client:
 Version:    26.1.4
 Context:    default
 Debug Mode: false

Server:
 Containers: 8
  Running: 2
  Paused: 0
  Stopped: 6
 Images: 2
 Server Version: 26.1.4
 Storage Driver: overlay2
  Backing Filesystem: extfs
  Supports d_type: true
  Using metacopy: false
  Native Overlay Diff: true
  userxattr: false
 Logging Driver: json-file
 Cgroup Driver: cgroupfs
 Cgroup Version: 1
 Plugins:
  Volume: local
  Network: bridge host ipvlan macvlan null overlay
  Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
 Swarm: inactive
 Runtimes: io.containerd.runc.v2 runc
 Default Runtime: runc
 Init Binary: docker-init
 containerd version: ae71819c4f5e67bb4d5ae76a6b735f29cc25774e
 runc version: v1.1.12-0-g51d5e94
 init version: de40ad0
 Security Options:
  seccomp
   Profile: builtin
 Kernel Version: 5.10.110
 Operating System: Ubuntu 20.04 LTS
 OSType: linux
 Architecture: aarch64
 CPUs: 8
 Total Memory: 7.739GiB
 Name: topeet
 ID: b2d4d032-8585-4278-af2b-515da756d1aa
 Docker Root Dir: /var/lib/docker
 Debug Mode: false
 Experimental: false
 Insecure Registries:
  127.0.0.0/8
 Live Restore Enabled: false
 Product License: Community Engine
------------------------------------------------------------------------------------------------------------------

6.将docker注册成系统服务(记得kill docker服务后,再执行这一步哦)
添加 /usr/lib/systemd/system/docker.service文件,加入下面内容
-------------------------------------------------------------------------------------------------------------------
[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/bin/dockerd
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
-------------------------------------------------------------------------------------------------------------------

7.启动 / 停止 docker 服务
systemctl start docker
systemctl stop docker

8.开机自启/取消开机自启 docker 服务
systemctl enable docker
systemctl disable docker

二、docker镜像安装和执行

1.查看存在的镜像
docker images

2.拉去ubuntu镜像
docker pull ubuntu

3.启动和停止镜像
docker start ubuntu
docker stop ubuntu

4.导出和导入镜像
①导出镜像
docker save -o ubuntu.tar ubuntu

②导入镜像
docker load -i ubuntu.tar

5.镜像运行
①自动重启运行
docker run --restart=always -d lv-ubuntu 

关闭自动重启
docker update --restart=no b1fa9fb52829

②使用 tail 命令保持容器后台持续运行
docker run -d lv-ubuntu  tail -f /dev/null

③使用 -v 标志将宿主机的目录映射到容器内部的目录。格式为 -v <宿主机目录>:<容器内目录>
为了docker内部镜像ubuntu里面的文件持久化
docker run -v /home/new:/home/ubuntu -it lv-ubuntu 

④组合起来
docker run --restart=always -v /home/new:/home/ubuntu -d lv-ubuntu  tail -f /dev/null

6.查看运行中的镜像
docker ps
-----------------------------------------------------------------------------------------------------------
CONTAINER ID   IMAGE     COMMAND               CREATED         STATUS         PORTS     NAMES
c018723648df   ubuntu    "tail -f /dev/null"   3 seconds ago   Up 3 seconds             affectionate_williamson
-----------------------------------------------------------------------------------------------------------

7.登陆ubuntu镜像
docker exec -it c018723648df /bin/bash

8.修改完的镜像保存为新镜像
docker commit c018723648df lv-ubuntu


三、创建新用户开放给客户使用
1.创建ubuntu用户
adduser ubuntu

2.解决新用户ubuntu没有docker权限
chmod o+rwx /var/run/docker.sock


四、dockerfile管理镜像(开机启动脚本)

1、创建Dockerfile,只能拷贝到/目录或者/usb/bin 这种目录,不能拷贝到/home/ubuntu目录
==================================================================================================================
FROM 53e7dddb84a1

COPY ./lv_start.sh /lv_start.sh

RUN chmod +x /lv_start.sh

ENTRYPOINT ["/bin/bash", "/lv_start.sh"]
==================================================================================================================

root@topeet:/home/new$ vi lv_start.sh 
#!/bin/bash

sleep 5
/home/ubuntu/tcp_client_test &

while true; do
        date >> /home/ubuntu/test
done
==================================================================================================================

2.执行Dockerfile
docker build -t lv .

3.运行docker镜像
docker run -v /home/new:/home/ubuntu -d lv 

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值