Linux 下的 Docker 安装与使用 - Go语言中文社区

Linux 下的 Docker 安装与使用


一、安装与配置

1.安装依赖包

sudo yum install -y yum-utils device-mapper-persistent-data lvm2

2.设置阿里云镜像源

sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 

3.安装 Docker-CE

重建 Yum 缓存。
安装 Docker-CE ,请执行一下命令进行安装:

sudo yum install docker-ce -y

4.启动 Docker-CE

sudo systemctl enable docker
sudo systemctl start docker

5.[可选] 为 Docker 建立用户组

docker 命令与 Docker 引擎通讯之间通过 UnixSocket ,但是能够有权限访问 UnixSocket 的用户只有 root 和 docker 用户组的用户才能够进行访问,所以我们需要建立一个 docker 用户组,并且将需要访问 docker 的用户添加到这一个用户组当中来。

a). 建立 Docker 用户组

sudo groupadd docker

b).添加当前用户到 docker 组

sudo usermod -aG docker $USER

6.镜像加速配置

这里使用的是 阿里云提供的镜像加速 ,登录并且设置密码之后在左侧的 镜像加速器 可以找到专属加速器地址,复制下来。
在这里插入图片描述
在这里插入图片描述
然后执行以下命令(可以直接拷贝页面上的):

sudo mkdir -p /etc/docker
sudo tee /etc/docker/daemon.json <<-'EOF'
{
  "registry-mirrors": ["你的加速器地址"]
}
EOF
sudo systemctl daemon-reload
sudo systemctl restart docker

之后重新加载配置,并且重启 Docker 服务

systemctl daemon-reload
systemctl restart docker

二、配置 Docker 容器与镜像

1.拉取镜像

拉取微软在 Docker 上的 aspnetcore 镜像:

docker pull microsoft/aspnetcore

之后执行以下命令查看是否拉取成功:

[root@iZuf6148jq0xmy8zrk3pfbZ ~]# docker images
REPOSITORY             TAG                 IMAGE ID            CREATED             SIZE
microsoft/aspnetcore   latest              db030c19e94b        9 months ago        347MB
[root@iZuf6148jq0xmy8zrk3pfbZ ~]#

三、Docker 常用命令

1.拉取镜像

docker pull

2.删除容器

docker rm <容器名 or ID>

3.查看容器日志

docker logs -f <容器名 or ID>

4.查看正在运行的容器

docker ps
docker ps -a # 为查看所有的容器,包括已经停止的。

5.删除所有容器

docker rm $(docker ps -a -q)

6.停止、启动、杀死指定容器

docker start <容器名 or ID> # 启动容器
docker stop <容器名 or ID> # 启动容器
docker kill <容器名 or ID> # 杀死容器

7.查看所有镜像

docker images

8.拉取镜像

docker pull <镜像名:tag>

例如以下代码

docker pull sameersbn/redmine:latest

9.后台运行

docker run -d <Other Parameters>

例如

docker run -d -p 127.0.0.1:33301:22 centos6-ssh

10.暴露端口

一共有三种形式进行端口映射
docker -p ip:hostPort:containerPort # 映射指定地址的主机端口到容器端口
例如:docker -p 127.0.0.1:3306:3306 映射本机3306端口到容器的3306端口
docker -p ip::containerPort # 映射指定地址的任意可用端口到容器端口
例如:docker -p 127.0.0.1::3306 映射本机的随机可用端口到容器3306端口
docer -p hostPort:containerPort # 映射本机的指定端口到容器的指定端口
例如:docker -p 3306:3306 # 映射本机的3306端口到容器的3306端口

11.映射数据卷

docker -v /home/data:/opt/data # 这里/home/data 指的是宿主机的目录地址,后者则是容器的目录地址

四、GUI 管理配置

这里推荐使用 Portainer 作为容器的 GUI 管理方案。

官方地址:https://portainer.io/install.html

安装命令:

microsoft/aspnetcore   latest              db030c19e94b        9 months ago        347MB
[root@xmy ~]# docker volume create portainer_data
portainer_data
[root@xmy ~]# docker volume inspect portainer_data
[
    {
        "CreatedAt": "2019-06-03T15:58:06+08:00",
        "Driver": "local",
        "Labels": {},
        "Mountpoint": "/var/lib/docker/volumes/portainer_data/_data",
        "Name": "portainer_data",
        "Options": {},
        "Scope": "local"
    }
]
[root@xmy ~]# docker run -d -p 9000:9000 -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer
Unable to find image 'portainer/portainer:latest' locally
latest: Pulling from portainer/portainer
d1e017099d17: Pull complete 
0b1e707a06d2: Pull complete 
Digest: sha256:d6cc2c20c0af38d8d557ab994c419c799a10fe825e4aa57fea2e2e507a13747d
Status: Downloaded newer image for portainer/portainer:latest
5b83f38cda980e146ee05d2d4769da601e9ef634daec67c617423907daf22758
[root@xmy ~]# docker ps
CONTAINER ID        IMAGE                 COMMAND             CREATED             STATUS              PORTS                    NAMES
5b83f38cda98        portainer/portainer   "/portainer"        7 minutes ago       Up 2 seconds        0.0.0.0:9000->9000/tcp   agitated_hodgkin

访问你的 IP:9000 即可进入容器管理页面。
需要注意的是,为了安全启动容器后请立刻设置管理密码,否则容器为了安全会在5分钟之内停止。
如下:
在这里插入图片描述
(END)

版权声明:本文来源CSDN,感谢博主原创文章,遵循 CC 4.0 by-sa 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/catoop/article/details/90755171
站方申明:本站部分内容来自社区用户分享,若涉及侵权,请联系站方删除。

0 条评论

请先 登录 后评论

官方社群

GO教程

猜你喜欢