docker 설치하기 이전에 설치될 수 있었던 데이터들을 미리 제거하고 설치를 하는 과정이다.
sudo apt install gnome-terminal
sudo apt remove docker-desktop
rm -r $HOME/.docker/desktop
sudo rm /usr/local/bin/com.docker.cli
sudo apt purge docker-desktop
sudo apt-get update
sudo apt-get install \
ca-certificates \
curl \
gnupg \
lsb-release
sudo mkdir -m 0755 -p /etc/apt/keyrings
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /etc/apt/keyrings/docker.gpg
echo \
"deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] https://download.docker.com/linux/ubuntu \
$(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
sudo apt-get install docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin
sudo docker run hello-world
아래와 같이 나오면 설치가 성공한 것이다.
https://docs.docker.com/desktop/install/ubuntu/
gpg --generate-key
sudo apt-get update
해당 url에서 DEB package 클릭하면, 다음과 같이 .deb파일을 다운받을 수 있다.
# sudo apt-get install ./docker-desktop-<version>-<arch>.deb
sudo apt-get install ./docker-desktop-4.26.1-amd64.deb
systemctl --user start docker-desktop
systemctl --user enable docker-desktop
이렇게 명령어를 작성해주면, docker desktop.exe 파일을 실행할 수 있다.
하지만, login을 눌러도 로그인이 되지않는 현상을 확인할 수 있다.
https://docs.docker.com/desktop/get-started/
gpg --generate-key
위의 명령어를 작성할 때 아래와 같은 예시로 입력해줘야한다. 모든 정보를 입력하면 다음과 같은 그림처럼 나오게 된다.
나의 경우,
real name : ...
Email address : ...@gmail.com 이라고 입력했다.
...
GnuPG needs to construct a user ID to identify your key.
Real name: Molly
Email address: molly@example.com
You selected this USER-ID:
"Molly <molly@example.com>"
Change (N)ame, (E)mail, or (O)kay/(Q)uit? O
...
pubrsa3072 2022-03-31 [SC] [expires: 2024-03-30]
<generated gpg-id public key>
uid Molly <molly@example.com>
subrsa3072 2022-03-31 [E] [expires: 2024-03-30]
# pass init <your_generated_gpg-id_public_key>
pass init ... '...@gmail.com'
위의 명령어를 치면, 다음과 같은 명령의 결과가 출력된다.
mkdir: created directory '/home/.../.password-store/'
Password store initialized for ... '...@gmail.com'
다시 docker desktop으로 이동해서 docker 로그인을 하자.
docker pull osrf/ros:humble-desktop
docker run -it osrf/ros:humble-desktop
root@<2136876316>:/#
root@<2136876316>:/# ros2 pkg list
root@<2136876316>:/# ros2 pkg executables
root@<2136876316>:/# ros2 run demo_nodes_cpp listener &
ros2 run demo_nodes_cpp talker
one terminator
docker run -it --rm osrf/ros:humble-desktop ros2 run demo_nodes_cpp talker
other terminator
docker run -it --rm osrf/ros:humble-desktop ros2 run demo_nodes_cpp listener
```