docker 安装 使用 ubuntu

安装 

sudo apt-get update
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

测试

sudo docker info

添加到用户组

# 添加docker用户组,一般已存在,不需要执行

sudo groupadd docker

# 将登陆用户加入到docker用户组中

sudo gpasswd -a $USER docker

# 更新用户组

newgrp docker

# 测试docker命令是否可以使用sudo正常使用

docker version

创建容器  

docker run -it -v /home/sz3/ailab/:/share --name my_container scllovewkf/opencalib:latest /bin/bash

这里的

  • `--name my_container` 选项为创建的容器指定了名称 `my_container`。完整解释如下:
    - `docker run`:创建并运行一个容器。
    - `-it`:以交互模式运行容器,并分配一个伪终端。
    - `-v /home/sz3/ailab/:/share`:将宿主机的 `/home/sz3/ailab/` 目录挂载到容器的 `/share` 目录中。
    - `--name my_container`:为容器指定名称 `my_container`。
    - `scllovewkf/opencalib:latest`:要运行的 Docker 镜像。
    - `/bin/bash`:在容器中启动一个 Bash 终端。

打包容器 

sudo docker run -it osrf/ros:humble-desktop

注意:每运行一次该指令,就会在本地生成一个新的容器,分配一个新的容器ID

重启和关闭容器

新开一个终端

查看本地存在的容器:

sudo docker ps -a

启动容器:

sudo docker start fa647741f188 

进入刚刚生成的ros2容器,假设容器id前缀是fa647741f188 :

sudo docker exec -it fa647741f188  /bin/bash

再次进入容器启动ros2

root@fa647741f188:/# ros2

bash: ros2: command not found

这是因为新终端没有自动添加环境变量,解决办法:

直接输入下面的命令追加bashrc即可

echo 'source /opt/ros/humble/setup.bash'>> ~/.bashrc

追加完成后source即可:

source ~/.bashrc

五、把建好的容器打包给其他人使用

先退出容器:exit或者ctrl + D

提交全部更改到本地容器:docker commit 【容器ID】

此时的容器会生成一个新的未命名的镜像。我们需要对它重新命名,

镜像重命名:

docker tag 0bc42f7ff218【镜像ID】 sqlmap_docker:v1【名称:版本】

镜像打包:

docker save sqlmap_docker:v1 > /root/sqlmap_docker .tar  

其中/root/指定存放的路径。

打包完成可以在相应目录下看到多了一个tar包,这就是你装好环境的docker镜像。

把这个镜像的tar包发送给别人, 然后他那边导入你的镜像:

docker load -i sqlmap_docker .tar

,运行这个镜像,进入对应的容器,然后就可以在相应目录下运行你的代码了。

进入容器

sudo docker ps

sudo docker exec -it 775c7c9ee1e1 /bin/bash

sudo docker exec -it dm8_01 /bin/bash

停止和删除容器

docker stop 【id】
docker rm [id]

相关推荐

  1. docker 安装 使用 ubuntu

    2024-07-21 03:12:03       29 阅读
  2. Ubuntu使用Snap安装Docker

    2024-07-21 03:12:03       65 阅读
  3. ubuntu环境上使用docker安装postgres

    2024-07-21 03:12:03       61 阅读
  4. ubuntu安装docker

    2024-07-21 03:12:03       63 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-21 03:12:03       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-21 03:12:03       102 阅读
  3. 在Django里面运行非项目文件

    2024-07-21 03:12:03       83 阅读
  4. Python语言-面向对象

    2024-07-21 03:12:03       92 阅读

热门阅读

  1. Eureka在Kubernetes中的部署指南:微服务发现的艺术

    2024-07-21 03:12:03       24 阅读
  2. 栈的概念—函数调用

    2024-07-21 03:12:03       22 阅读
  3. 机器学习中的梯度下降

    2024-07-21 03:12:03       26 阅读
  4. Rollup介绍

    2024-07-21 03:12:03       24 阅读
  5. Windows图形界面(GUI)-DLG-C/C++ - 状态栏(StatusBar)

    2024-07-21 03:12:03       28 阅读
  6. 三角函数cos

    2024-07-21 03:12:03       22 阅读
  7. 【东耐设计】如何在C4D创作中激发无限创意?

    2024-07-21 03:12:03       23 阅读